一台电脑插入两个键盘,用键盘操纵游戏人物时,两个键盘能操作同一个人物的移动。但一台电脑插入两只游戏手柄,得到的效果却是手柄 1 只能操控人物 1 ,手柄 2 只能操控人物 2 。
键盘会将按键对应的 KeyCode 发送给电脑,程序通过监听相应的 KeyCode 来做相应操作,所以插两个键盘同一按键发送的 KeyCode 也是一样的,所以两个键盘能同时操作同一个人物,因为对游戏来说,只关系对应的 KeyCode 是否按下,不关心从哪个键盘上按下的。
生产手柄时,每只手柄的每个按键对应的 KeyCode 是唯一的,这样程序就能区分到不同手柄的同一个按键了。
但是这显然是不合理的,因为手柄生产时,不可能为每只手柄设置不同的 KeyCode ,同一生产线上的产品程序应该都是一样的。而且有的手柄插入电脑就能正常使用,无需做任何配置,应该是游戏厂商和手柄厂商之间的默认值。
所以想请教大家几个问题,
游戏手柄和键盘向电脑输入的原理一样吗?连接两支游戏手柄,却可以做到不冲突,难道对应的 KeyCode 是不同的吗?
我使用 java 程序监听键盘事件,按下键盘按键能触发监听器,但是按下手柄不能触发监听器,这是为什么呢?
游戏模拟器做按键映射时,能识别到手柄的按键,它是如何做到的呢?我是用 java 该如何做才能监听到手柄的按键事件
为什么一台电脑插入两个相同的手柄,如何做到同一个按键不会像插入两个键盘那样冲突呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.