gpt4 book ai didi

java - C++键盘键码和JAVA KeyEvent键码之间的区别

转载 作者:可可西里 更新时间:2023-11-01 09:31:46 25 4
gpt4 key购买 nike

我注意到 C++ 中的 vkCode 提供的键码与 Java 的 KeyEvent 提供的键码之间存在差异。 (当然,普通字符具有相同的代码(0 => 48,就像 ASCII 一样),但它们在其他键上有所不同)。有没有一种方法可以将它们从一个“翻译”到另一个(每个背后的逻辑是什么?)或者我是否应该为此使用大量开关和 IF。如果有帮助,我的应用程序是一半在 C++ 中,一半在 JAVA 中,因为 C++ 为我们提供了 native Hook ,它获取用户按下的键的键码,然后 Java 将使用它们。

提前致谢。

最佳答案

or am I supposed to use loads of switches and IFs

你可以把它们放在 lookup table 中,也就是将Java KeyCodes放在一个大数组中,所以你只需要做javaKeyCode = keyLut[cppScanCode]

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

Java 设计为独立于平台,因此无论扫描代码如何,按下左键都会始终产生 VK_LEFT。我不完全确定,但我想 C++-scancode 是硬件相关的。

关于java - C++键盘键码和JAVA KeyEvent键码之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2798708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com