设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1244|回复: 4
打印 上一主题 下一主题

[原创发布] 研究了一晚上,终于知道为什么MZ没有全键盘插件了

[复制链接]

Lv2.观梦者

梦石
0
星屑
726
在线时间
13 小时
注册时间
2016-11-5
帖子
12
跳转到指定楼层
1
发表于 2022-3-28 01:14:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
因为改为js代码以后,全键盘功能用改底层+脚本的方式实现起来过于简单,简直有点傻瓜……
说下步骤:
(1)在rmmz_core.js中搜索如下字段
/**
* A hash table to convert from a virtual key code to a mapped key name.
*
* @type Object
*/
Input.keyMapper = {
    9: "tab", // tab
    13: "ok", // enter
    16: "shift", // shift
    17: "control", // control
    18: "control", // alt
    27: "escape", // escape
    32: "ok", // space
    33: "pageup", // pageup
    34: "pagedown", // pagedown
    37: "left", // left arrow
    38: "up", // up arrow
    39: "right", // right arrow
    40: "down", // down arrow
    45: "escape", // insert
    65: "a", // A
    81: "pageup", // Q
    87: "pagedown", // W
    88: "escape", // X
    90: "ok", // Z
    96: "escape", // numpad 0
    98: "down", // numpad 2
    100: "left", // numpad 4
    102: "right", // numpad 6
    104: "up", // numpad 8
    120: "debug" // F9
};

(2)把你想要的键的ASCII码插入上面的字段中,再起一个字符串的键名(不要和已有名字重复),比如我添加的就是【65: "a", // A】这一行,意思是把ASCII码为65的A键插入输入表中,并命名为"a"。

(3)在条件分歧的脚本中输入【Input.isPressed("a")】,其中"a"是你刚才起的键名。

(4)按下A键即可触发该条件分歧(当然还要设置好公共事件,这个不用多说了吧)。

嘛,以上,算是我个人的一点很菜很菜的小经验,大佬不用看,新人用不着,专供跟我一样懂一点代码,但既非专业又懒得深钻的朋友参考吧。

评分

参与人数 1+1 收起 理由
新耀012478 + 1 精品文章

查看全部评分

Lv2.观梦者

梦石
0
星屑
726
在线时间
13 小时
注册时间
2016-11-5
帖子
12
2
 楼主| 发表于 2022-3-28 01:39:40 | 只看该作者
慢着,我这个思路好像有问题,目前发现只能加进去一个键,多了就不识别了。比如同时加1、2、3、A,结果只有输入1才识别。也是蛮扯的。
我继续研究一下哪里有问题。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
726
在线时间
13 小时
注册时间
2016-11-5
帖子
12
3
 楼主| 发表于 2022-3-28 01:49:09 | 只看该作者
哦,懂了,用写字板查看了一下,又用我才疏学浅的JAVA知识推测一下……
应该是加的时候用的记事本,加的所有信息打在同一行里了,倒霉催的JAVA不识别。
即成了这样:
Input.keyMapper = {
    9: "tab", // tab
    13: "ok", // enter
    16: "shift", // shift
    17: "control", // control
    18: "control", // alt
    27: "escape", // escape
    32: "ok", // space
    33: "pageup", // pageup
    34: "pagedown", // pagedown
    37: "left", // left arrow
    38: "up", // up arrow
    39: "right", // right arrow
    40: "down", // down arrow
    45: "escape", // insert

    49: "1", // 1    50: "2", // 2    51: "3", // 3    65: "a", // A
    81: "pageup", // Q
    87: "pagedown", // W
    88: "escape", // X
    90: "ok", // Z
    96: "escape", // numpad 0
    98: "down", // numpad 2
    100: "left", // numpad 4
    102: "right", // numpad 6
    104: "up", // numpad 8
    120: "debug" // F9
};

用IDE加,或者整几个换行符应该就搞定了。我上visual studio试试。
果然,之前2、3、A那几行全被当成注释了……躺平。
OK成了。
这次录入成这样,问题解决。
Input.keyMapper = {
    9: "tab", // tab
    13: "ok", // enter
    16: "shift", // shift
    17: "control", // control
    18: "control", // alt
    27: "escape", // escape
    32: "ok", // space
    33: "pageup", // pageup
    34: "pagedown", // pagedown
    37: "left", // left arrow
    38: "up", // up arrow
    39: "right", // right arrow
    40: "down", // down arrow
    45: "escape", // insert
    49: "1", // 1   
    50: "2", // 2   
    51: "3", // 3   
    65: "a", // A
    81: "pageup", // Q
    87: "pagedown", // W
    88: "escape", // X
    90: "ok", // Z
    96: "escape", // numpad 0
    98: "down", // numpad 2
    100: "left", // numpad 4
    102: "right", // numpad 6
    104: "up", // numpad 8
    120: "debug" // F9
};
回复 支持 1 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
733
在线时间
51 小时
注册时间
2021-6-14
帖子
40
4
发表于 2022-4-9 20:27:00 | 只看该作者
我发过一个任意按键触发公共事件的插件哦,可以用一用
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
21967
在线时间
8569 小时
注册时间
2011-12-31
帖子
3362
5
发表于 2022-4-11 14:24:20 | 只看该作者
本帖最后由 tseyik 于 2022-4-11 14:26 编辑



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-5 19:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表