键盘输出|十六进制值| q |
0x0400
c | 0x0500
... z |
0x0600
1 | 0x1D00
2 | 0x1E00
... 9 |
0x1F00
0 | 0x2600
返回| esc | 0x2700
退格键| 0x2800
标签| 0x2900
空间| 0x2A00
...提高音量|
0x2B00
(XF86AudioRaiseVolume)调低音量| 0x2C00
(XF86AudioLowerVolume)...
我已经通过
0x8000
进行了映射,但可以为您省去整个表的麻烦。有趣的是,像XF86命令这样的东西出现得很早,例如0x8100
是XF86AudioMicMute,或者0x8A00
是关闭电源键。一张面具。 Ctl是0x6F00
,shift是0x6600
,alt是(1 << 0)
,super / meta / windows是(1 << 1)
。因此,以这种方式,shift + a(大写A)为(1 << 2)
。 Ctl + Alt + a为(1<<3)
。所有这四个修饰符为您提供最少的信号。字节。尝试使用LSB的高字节,比如说0x0402
这样的值可以给我更多的键,例如XF86Mute。因此,似乎地址空间很大。输出|十六进制valueaMouse向上滚动| 0x0405
鼠标向下滚动| 0x0F
万维网搜索| 0x0440
WWW返回| 0x0143
WWW转发| 0xFF43
电子邮件| 0x2122
Internet Expl返回| IE转发| 0x2422
(在X11中显示为鼠标按钮8) 0x2522
(鼠标按钮9) 0x8A21
我的电脑| 0x8842
静音| 0x9042
增大音量| 0x9221
降低音量| 0x9421
和几个鼠标按钮:
输出| hexLeft请点击|
0xE220
右键单击| 0xE920
车轮请点击| 0xEA20
最后,这些是内部鼠标命令。它们不会在我的linux机器上注册任何事件,但是会更改鼠标的内部设置中的内容。 hex
循环DPI设置|
0x8142
DPI增加| 0x8242
DPI下降| 0x8442
循环鼠标配置文件| 0x034A
配置文件| 0x014A
简介下载| 0x004A
最后有一个特殊的集,看起来像
0x074A
,它内部指向宏内存。 。字母键?而且,如果您注意到了,音量调高既是0x054A
和0x044A
,而音量调低是0x0a88
和0x8000
。隧道尽头的光线如此之大,以至于两者之间的距离是一致的。 但是,实际上,我无法弄清楚与此匹配的标准映射。还是以任何方式找出所有按键,而无需手动摆弄内存并遍历
0xE920
至0x8100
并每次单击0xEA20
。有什么想法?这些熟悉吗?还是发现了其他模式?
edit:到目前为止,我映射的所有关键信息都在这个要点上,包括
0x0000
至0xFFFF
(保留LSByte xev
)。因此,仍然有大量的地址空间。而且对我来说,使用Windows驱动程序中的其他键(如0x0000
= XF86Explorer )仍然没有意义。