java中keyevent_C键盘键码和JAVA KeyEvent键码之间的区别

我注意到C中的vkCode提供的键码与Java的KeyEvent提供的键码之间存在差异. (当然,正常字符具有相同的代码(就像ASCII一样,0 => 48),但其他键有所不同).

有没有办法将它们从一个“转换”到另一个(每个逻辑背后的逻辑是什么?),或者我应该为此使用大量的开关和IF.

如果有帮助,由于c为我们提供了本机挂钩,因此我的应用程序用C语言占一半,用JAVA语言占一半,它获取用户按下的键的键代码,然后Java将使用它们.

提前致谢.

解决方法:

or am I supposed to use loads of switches and IFs

您可能只需将它们放在lookup table中,即将Java KeyCodes放在一个大数组中,因此您只需要执行javaKeyCode = keyLut [cppScanCode].

可以找到一个扫描代码列表here,当然可以在the API docs for KeyEvent中找到VK_KEYCODES.

Java被设计为与平台无关,因此,例如,按左键,无论扫描代码如何,都将始终产生VK_LEFT.我不太确定,但我想C -scancode与硬件有关.

标签:keyevent,keycode,windows,java,c-4

来源: https://codeday.me/bug/20191210/2099022.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值