我有一个蓝牙键盘三星bkb10。它主要是用于andoind的键盘,因此它没有alt,super(winkey),f1-f12,菜单,但是有很多热键(大多数在Linux下都很好用)。但是某些热键不起作用,我想让它们表现为alt,f1-f12,菜单。我也想要热键功能,所以我很想像Fn按钮那样做热键。好吧,这就是我想要的。至少我需要alt,super,menu和f1-f12,无法想象没有linux下没有它们会很难。因此,我正在尝试使用按键触摸-不走运。它能够读取正确的keyym,但是keytouch-editor仅将其一部分保存到其键盘文件中,并且看来所需的键也与keytouch相同。无论如何,即使许多键以相同的方式工作,我也根本看不到它对我有用。现在,我要用作Alt,super,menu的键根本不起作用,具有相同的扫描代码,
xev
对某些热键显示相同的内容,但不起作用:
KeyRelease event, serial 39, synthetic NO, window 0x5400001,
root 0xf5, subw 0x0, time 12647284, (224,225), root:(224,253),
state 0x0, keycode 248 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
但是kacpimon
可以识别出它们的键符号,并且它们是不同的键:
Input Layer: Type: 4 Code: 4 Value: 787205
Input Layer: Type: 1 Code: 240 Value: 0
Input Layer: Sync
Input Layer: Type: 4 Code: 4 Value: 787207
Input Layer: Type: 1 Code: 240 Value: 1
Input Layer: Sync
与getscancodes
:
787205 (0xc0305)
787205 (0xc0305)
787207 (0xc0307)
787207 (0xc0307)
sudo evtest /dev/input/evt14
相同键的输出:
Event: time 1457614378.384393, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0305
Event: time 1457614378.384393, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 1
Event: time 1457614378.384393, -------------- SYN_REPORT ------------
Event: time 1457614378.384420, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0305
Event: time 1457614378.384420, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 0
Event: time 1457614378.384420, -------------- SYN_REPORT ------------
Event: time 1457614378.681877, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0307
Event: time 1457614378.681877, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 1
Event: time 1457614378.681877, -------------- SYN_REPORT ------------
Event: time 1457614378.775600, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0307
Event: time 1457614378.775600, type 1 (EV_KEY), code 240 (KEY_UNKNOWN), value 0
Event: time 1457614378.775600, -------------- SYN_REPORT ------------
正如你所看到的扫描码是即使在同一个kacpimon
,但键符不同kacpimon
,getscancode
,evtest
为每一个关键,而不是xev
和其他工具。我也认为getscancodes实际上显示的是keyyms,而不是它们的scancodes。我知道xmodmap很旧,我不应该使用,而且我应该xkb。如果我不是菜鸟,我能够找到一些对我有帮助的答案-自定义键盘布局:添加未为其定义键符号的字符另外该链接可能有用,但它已过时,因此我无法检查它-唐不要使用showkey或xev,而要使用udev和evtest。
但是我不能用xkb或xmodmap做到这一点,我只是不明白怎么做。请帮助我,进行了整整3天的工作,但仍然找不到任何解决方案...非常感谢!
好的,找到解决方案了-在14.04(Trusty)中使Microsoft Natural Ergonomic Keyboard 4000和7000的缩放滑块上下滚动(阅读)阅读最新评论。事实证明,evtest确实非常强大,并且它也可以显示扫描代码。仔细阅读/lib/udev/hwdb.d/60-keyboard.hwdb,我必须阅读100次才能使其正常工作。如果您需要将十六进制转换为4位数十六进制,我可以使用它-http: //www.binaryhexconverter.com/hex-to-decimal-converter
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句