如何在 xkb 中重新映射“特殊”键?

Spa*_*awk 8 configuration xorg keyboard keyboard-layout xkb

我一直在尝试将我的键盘映射从 xmodmap 迁移到 xkb,但是我遇到了一些麻烦。我可以看到在哪里修改“普通”键,/usr/share/X11/xkb/symbol/us对我来说,但是这个文件似乎没有“特殊”键,包括修饰符。

我希望实现的完整重新映射是:

  • 交换Left CtrlShift
  • 替换Right CtrlShift
  • 替换Right Shift'
  • 替换'/
  • 右空白键(键码 97)到 Menu
  • 左空白键(键码 92)到 AltGr
  • AltGr 编码:
    • 键码 20 = 减去下划线减去下划线 endash emdash
    • 键码 60 = 句号更大的句号更大的省略号
    • Fn+F5Fn+F6控制亮度
    • 键码 148 = XF86MonBrightnessDown NoSymbol XF86MonBrightnessDown
    • 键码 179 = XF86MonBrightnessUp NoSymbol XF86MonBrightnessUp

我怎样才能做到这一点?

Spa*_*awk 7

解决方案是在 中创建AltGr编码/usr/share/X11/xkb/symbol/us,但使用/usr/share/X11/xkb/keycodes/evdev代替交换大多数键。

(但是,我还没有弄清楚如何将 Fn+F5 和 Fn+F6 映射到 XF86MonBrightnessDown 和 XF86MonBrightnessUp。)