在 Ubuntu 18.04 上重新设置特殊密钥

在 Ubuntu 18.04 上重新设置特殊密钥

我在 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 修饰键可调用上一首曲目/下一首曲目

相关内容