我在 askubuntu 上找到了一些关于如何重新设置键盘按键的教程。这似乎对大多数按键都适用。但是在我的联想 Ideapad 330 上,我有一个侧键盘,上面有后退和下一曲目等按键。
另外,我的 Home 和 End 按钮用 Fn 键编码。如果我想转到行尾,我必须单击 Fn + 向右箭头。
我想重新键入后退和下一曲目键,以便它们具有 Home 和 End 按钮的功能。
问题是,插入这些特定按钮后,xev
我看不到这些键的任何 ID。如果我按 Back Track,则会出现以下信息:
FocusIn event, serial 37, synthetic NO, window 0x3800001,
mode NotifyGrab, detail NotifyPointer
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 32 0 0 0 0 0 0 0 0 0 0
FocusOut event, serial 37, synthetic NO, window 0x3800001,
mode NotifyUngrab, detail NotifyPointer
有人能建议如何重新编码这两个键吗?
这里这是键盘的照片。
谢谢
答案1
一些媒体键(如下图所示)可能会产生键码,也可能不会。并且它们可能会在您根据xev
命令按下它们时发挥作用。
因此,获取这些键的键码的简单方法是登录 tty 并运行showkey -k
并按下所需的键。
根据聊天记录,showkey -k
在 tty 中使用命令时的键码为 163(上一首曲目)和 165(下一首曲目)
下一曲目/上一曲目的键码分别为 165 和 163
抱歉,以下没有文档:
keycode with showkey -k = xmodmap keycode - 8
keycode with xmodmap = showkey -k + 8
这意味着我们使用 showkey -k 163 和 165 获得的键码相当于使用 xmodmap 获得的 171 和 173
因此..运行xmodmap -pke
并查找键码 171 和 173 的键符号..
稍后您可以更改想要映射的任何键符。例如:
xmodmap -e "keycode 171 = Home"
xmodmap -e "keycode 173 = End"
进一步阅读:
https://askubuntu.com/a/1177739/739431
https://unix.stackexchange.com/a/52949
键码 171 = XF86AudioNext NoSymbol XF86AudioNext
键码 173 = XF86AudioPrev NoSymbol XF86AudioPrev
根据上述未修改的键码的键符,您可以在每次启动时运行以下命令,或者简单地将它们添加到启动应用程序首选项中
xmodmap -e "keycode 171 = Home XF86AudioPrev"
xmodmap -e "keycode 173 = End XF86AudioNext"
这意味着单独按下按键可调用 Home/End 键,同时按下 Shift 修饰键可调用上一首曲目/下一首曲目