我想稍微编辑一下我的键盘的布局——最好的方法是什么?

我想稍微编辑一下我的键盘的布局——最好的方法是什么?

我使用的是 Apple 键盘,与其他键盘相比,它有一些麻烦。即 Alt_L 和 Super_L 键互换了,bar 和 less 键也互换了(“|”和“<”)。

我编写了一个 Xmodmap 文件来交换密钥:

keycode  49 = less greater less greater onehalf threequarters
keycode  64 = Super_L NoSymbol Super_L
keycode  94 = bar section bar section brokenbar paragraph
keycode 108 = Super_R NoSymbol Super_R
keycode 133 = Alt_L Meta_L Alt_L Meta_L
keycode 134 = Alt_R Meta_R Alt_R Meta_R

xev我通过使用默认的 modmap 来识别按键来实现这一点xmodmap -pke并交换键码来实现这一点。xev现在可以识别出我的所有按键都是正确的,这太棒了!我还可以使用正确的按键来输入横线和小于号。(我在 askubuntu 上遵循了这个答案:https://askubuntu.com/q/24916/52719

但似乎变化并不大。例如,Compiz 设置管理器中的 Super 键现在已损坏。涉及 Super 键的快捷键均不起作用(但 Alt 键可以)。此外,侏儒不关注 xmodmap 中的变化,我无法打开侏儒如果我使用任何重新映射的键,窗口就会不再显示。

总而言之,一切都崩溃了。

我想要一种更深入的方式来告诉 Ubuntu(或任何其他 Linux 发行版)键盘上的哪个键是哪个。有没有办法直接编辑键盘布局?我使用的是挪威语博克马尔语键盘布局。它是否位于我可以编辑的某个文件中?

任何评论、以往的经历或相关的零散想法都将不胜感激 -

谢谢

答案1

经过几个小时的尝试,我终于让它工作了。我找到了将 evdev 扫描码转换为 X11 下的 xfree86 键码的文件,即/usr/share/X11/xkb/keycodes/evdev。我以 root 身份打开该文件,并使用默认 xmodmap 设置作为参考移动键码(xmodmap -pke)。我的最终编辑非常简单:

<LSGT> = 49; // This was 94
<TLDE> = 94; // This was 49
<LWIN> = 64; // This was 133
<LALT> = 133; // This was 64
<RWIN> = 108; // This was 134
<RALT> = 134; // This was 108

相关内容