使用 AltGr + Home/PgUp/PgDown 等作为媒体键(美国国际键盘,带 AltGr 死键)

使用 AltGr + Home/PgUp/PgDown 等作为媒体键(美国国际键盘,带 AltGr 死键)

一段时间以来,我一直在使用 CODE 键盘快捷键,其中可以使用该Fn键与 Insert/Home/PgUp/Delete/End/PgDn 组合来控制媒体功能。我想对我的旧 Model M 做类似的事情(没有媒体键、没有 Meta 键、没有花哨的配置)。

我最初的想法是使用 AltGr 作为这些快捷键。但我很快意识到 Gnome 键盘快捷键不喜欢 AltGr+Thing,我认为这是因为在我使用的布局中该组合不会触发任何内容(美国国际键盘带有 AltGr 死键)。

经过一些谷歌搜索后,我假设解决方案是使用 Xmodmap 并执行以下操作:

$ xmodmap -e "keycode 112 = Prior NoSymbol Prior NoSymbol XF86AudioRaiseVolume"

但这没有任何作用。我显然做错了什么(我想我误解了文档中的一些内容,或者没有仔细阅读它们)。我该如何实现我的目标?


一些可能有用的进一步调试信息:

执行 AltGr + PgUp 时的输出xev如下:

KeyPress event, serial 37, synthetic NO, window 0x5000001,
    root 0x6cb, subw 0x0, time 16641710, (2129,943), root:(2349,1147),
    state 0x0, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 92
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x5000001,
    root 0x6cb, subw 0x0, time 16641743, (2129,943), root:(2349,1147),
    state 0x80, keycode 112 (keysym 0xff55, Prior), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

我已经这样做了,以检查 ISO_Level3_Shift(又名 AltGr)是否被正确检测到(并且确实被检测到了)。Prior(又名 PgUp,编号 112)的键码也已被正确识别。我不知道是 Xmodmap 出现问题还是我配置错误。

相关内容