keyevent如何生成Java中没有键代码的键盘事件?
我使用Robot类和KeyEvent键代码生成所有其他键事件,它们工作正常,但我还需要Hangul键(切换韩国键盘)。显然KeyEvent没有这个密钥的密钥代码,所以我被卡住了:(有办法生成这个Hangul密钥事件吗? 有没有办法使用像VK_HANGUL(0x15)这样的Windows键代码来代替KeyEvent键代码?如果可能的话,更改所有的密钥代码不会有问题。。。或者以某种方式将关键事件保存一次,并将其永久存储在某个地方,然后永远使用
我想做的是创建一个屏幕键盘,上面有数字、字母和韩语。点击一个图标,它将生成相应字母的关键事件,这样就可以键入字母。(除了切换到韩语,其他一切都正常工作。)
能够生成韩语密钥事件会很好,但如果这不可能,有没有关于如何实现这一点的建议? 也许我可以把每个韩语字母和键盘上相应的字母绑定在一起(例如g是ㅎ 在既有英语又有韩语的传统键盘上)或其他什么,但我该如何将其发送到其他应用程序
抱歉,如果这个问题到处都是。我真的迷路了
# 1 楼答案
我找到了解决这个问题的办法。我使用JNA生成键盘事件
以下是一些代码,以防有人需要
使用User32中的JNA和keybd_事件方法的基本资料。dll:
然后在需要生成密钥事件的地方插入:
0x15和0xF2是我一直在寻找的韩语/英语切换键的虚拟键代码和键盘扫描代码,但是查找需要的任何键的代码,然后替换它们,几乎可以生成任何键事件
你需要jna。罐子和平台。让它工作