我将按如下方式重新映射我的键盘:
xmodmap -e "keycode 77= w W {"
xmodmap -e "keycode 78= x X }"
xmodmap -e "keycode 24= a A @"
xmodmap -e "keycode 49= ` & 2"
xmodmap -e "keycode 65= space space _"
xmodmap -e "keycode 111= Up Up Down"
xmodmap -e "keycode 113= Left Left Right"
xmodmap -e "keycode 51= * \" \' "
xmodmap -e "keycode 113= Left Left Right"
xmodmap -e "keycode 113= Left Left Right"
但是 xmodmap 返回给我:
xmodmap: commandline:1: 键符列表中的键符名称“XF86XK_{”不正确
我在网上看到我应该首先删除密钥,但我想知道这是否会产生一些错误,所以在尝试移动之前,我会向社区询问一些建议,
谢谢
答案1
关于你提到的错误,使用xmodmap -e "keycode 77 = w W braceleft"
从 xev 命令获取键符。
KeyPress event, serial 37, synthetic NO, window 0x2200001,
root 0x195, subw 0x0, time 470232, (535,249), root:(623,392),
state 0x2001, keycode 34 (keysym 0x7b, braceleft), same_screen YES,
XKeysymToKeycode returns keycode: 16
XLookupString gives 1 bytes: (7b) "{"
XmbLookupString gives 1 bytes: (7b) "{"
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x2200001,
root 0x195, subw 0x0, time 470424, (535,249), root:(623,392),
state 0x2001, keycode 34 (keysym 0x7b, braceleft), same_screen YES,
XKeysymToKeycode returns keycode: 16
XLookupString gives 1 bytes: (7b) "{"
XFilterEvent returns: False
如果我理解正确的话,你的密钥代码 77 是Num_Lock
因此,您需要将Num_Lock密钥w
W
设为braceleft
为了达成这个..
xmodmap -e "remove Mod2 = Num_Lock"
这将从 Num_Lock 键中删除修饰符 Num_Lock。
注意:将 Num_Lock 键符分配给任何其他键码,否则您将失去 Num_Lock。(此阶段不涉及此内容)
xmodmap -e "keycode 77 = NoSymbol NoSymbol w W braceleft"
您不需要担心删除修改器,因为上述两个更改在注销或重新启动后不会保留。
交换 Num_Lock 和 braceleft 键符号的示例
$ xmodmap -e "remove Mod2 = Num_Lock"
$ xmodmap -e "keycode 34 = bracketleft Num_Lock"
$ xmodmap -e "add Mod2 = Num_Lock"
$ xmodmap -e "keycode 77 = braceleft"
$