我正在使用 ubuntu 15.10!
我想重新映射我的英国键盘到 `-key。
这是我想要的映射的图片:
这些是在“xev -event keyboard”后按下键的结果:(旁注:虽然我的键盘是英式键盘,但我使用的是美式布局,因此“<”)
KeyPress event, serial 28, synthetic NO, window 0x1e00001,
root 0xb5, subw 0x0, time 28576713, (-521,515), root:(763,543),
state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES,
XLookupString gives 1 bytes: (3c) "<"
XmbLookupString gives 1 bytes: (3c) "<"
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x1e00001,
root 0xb5, subw 0x0, time 28576815, (-521,515), root:(763,543),
state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES,
XLookupString gives 1 bytes: (3c) "<"
XFilterEvent returns: False
可以使用 setxkbmap 命令或其他方式来实现吗?我尝试过寻找解决方案,但自己没有成功。
我会从这个重新映射中受益匪浅,因为我经常使用 `-key(我喜欢 vim)并且从不使用这个其他附加键。
答案1
转到文件夹 /usr/share/X11/xkb/symbols/。
编辑 gb 文件并替换以下行:
key <LSGT> { [ backslash, bar, bar, brokenbar ] };
和:
key <LSGT> { [ backslash, grave, bar, brokenbar ] };
保存退出然后执行:
sudo dpkg-reconfigure xkb-data
注销并重新登录,损坏的栏将重新映射到坟墓字符(我相信这是你想要的)。
如果您使用美国键盘布局,则编辑 pc 文件而不是 gb 文件,并修改文件顶部的行:
key <LSGT> { [ less, greater, bar, brokenbar ] };
如果你想使用 shift,可以使用这个:
key <LSGT> { [ less, grave, bar, brokenbar ] };
或者如果你不想使用 shift:
key <LSGT> { [ grave, greater, bar, brokenbar ] };
并按照上述步骤进行其余操作。更改将是永久性的,因此如果您想将其改回,则需要通过将文件重新编辑回原始文件来撤消更改。