Java:键盘映射值

问题描述:

我想修改一些特殊的键盘快捷键的vnc程序。一个包含字母P,但这不是由程序的键映射实现提供的,我想添加它。我遇到的问题是,我不知道程序从哪里获得它的值。我相信p的键盘映射应该是0x0112,但我无法确定它们使用的确切概念。Java:键盘映射值

以下是指向谷歌代码的链接。有人认识到他们使用的价值吗?

https://code.google.com/p/tightvncpanel/source/browse/trunk/src/main/java/com/glavsoft/utils/Keymap.java?r=39

我认为这是0x70。
我开始xev并按左移:

KeyRelease event, serial 38, synthetic NO, window 0x3000001, 
root 0x2a6, subw 0x0, time 80385581, (1027,483), root:(1028,529), 
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, 
XLookupString gives 0 bytes: 
XFilterEvent returns: False 

正如你可以看到keysym0xffe1就像在源代码

与p:

KeyPress event, serial 38, synthetic NO, window 0x3000001, 
root 0x2a6, subw 0x0, time 80216212, (191,-19), root:(192,27), 
state 0x10, keycode 33 (keysym 0x70, p), same_screen YES, 
XLookupString gives 1 bytes: (70) "p" 
XmbLookupString gives 1 bytes: (70) "p" 
XFilterEvent returns: False 

我不知道什么是keysym,但它似乎是代码使用。

编辑

keysym:键盘上的按键的符号名称。