我想更改特殊键 alt、crtl、hanja(在多种语言中)
因为我使用了 ibus,所以我尝试通过 Xkb 而不是 xmap 更改我的键盘映射。在互联网上搜索后,我只需在
/usr/share/X11/xkb/keycodes/evdev
<LALT> = 131; //original code : 64
<LCTL> = 64; //original code :37
<HJCV> = 37; //original code :131
它可以工作。除了“LALT”,当我检查我的键输入时,它看起来很好,但是 LALT 不组合其他功能键(例如 ALT+TAB、ALT+F4)
当我按下 LCTL(应该充当“HJCV”)时,它可以工作。但是当我按下 HJCV(应该充当“ALT”)时,它不起作用
当我看到 xev 时,它看起来不错
state 0x18, keycode 131 (keysym 0xffe9, Alt_L), same_screen YES,
XKeysymToKeycode returns keycode: 108
为了找到答案,我在“altwin”中交换了 LALT、RALT 的位置
/usr/share/X11/xkb/symbols/altwin
但是,我的 HJCV(现在是 ALT_R)仍然无法工作,即使我的 ALT_R(ALT_L)没有问题。我再次检查“xev”,发现了一些东西
state 0x18, keycode 131 (keysym 0xffe9, Alt_L), same_screen YES,
XKeysymToKeycode returns keycode: 108
state 0x10, keycode 108 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
键码 108(ALT_R)成功更改了 ALT_L,但我的 HJCV(ALT_L)仍然存在(甚至返回键码 108,但它不起作用)
我唯一能找到的区别就是状态,我想我对“状态”有点了解,但我不知道
我该如何解决它?