在 Ubuntu 14.04 上交换 Apple 键盘的“Super_R”和“ISO_Level3_Shift”键的角色

在 Ubuntu 14.04 上交换 Apple 键盘的“Super_R”和“ISO_Level3_Shift”键的角色

我想知道如何在 Ubuntu 14.04 上将右命令键(Super_R)与右 alt 键(ISO_Level3_Shift)交换。

我很高兴知道 bash 命令或需要写入的必要行xkb。也许您还知道允许重新映射键的 GUI 解决方案?

因此,右 ALT 键产生以下内容xev

KeyPress event, serial 37, synthetic NO, window 0x5c00001,
    root 0xd7, subw 0x0, time 26406541, (573,569), root:(616,621),
    state 0x0, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 92
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

正确的 CMD 键产生:

KeyPress event, serial 37, synthetic NO, window 0x5c00001,
    root 0xd7, subw 0x0, time 26614133, (241,590), root:(284,642),
    state 0x0, keycode 134 (keysym 0xffec, Super_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

答案1

创建文件.Xmodmap

nano /.Xmodmap

添加新的定义

keycode 134 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift NoSymbol ISO_Level3_Shift

clear mod4
keycode 108 = Super_R
add mod4 = Super_R

重新加载xmodmap

xmodmap /.Xmodmap

并检查xev

KeyPress event, serial 36, synthetic NO, window 0x2600001,
    root 0x26b, subw 0x0, time 10943583, (116,83), root:(153,147),
    state 0x10, keycode 108 (keysym 0xffec, Super_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x2600001,
    root 0x26b, subw 0x0, time 11023111, (106,110), root:(143,174),
    state 0x90, keycode 134 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 92
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

答案2

Xmodmap 将不起作用;它已经过时了

在 gnome 中,我认为你可以做你想做的事情gnome-tweak-tool(我认为 Unity 有一个等效unity-tweak-tool或类似的东西):

gtt 打字

...应该是这些选项之一。由于错误,请阅读完整定义,你需要深入研究这些文件/usr/share/X11/xkb/rules/*.lst——我认为你感兴趣的是

altwin:ctrl_alt_win Ctrl 映射到 Alt 键,Alt 映射到 Win 键

来自xorg.lst,我想这是列表中的第四个。

我无法检查,但也许

setxkbmap -option altwin:ctrl_alt_win 

可以工作...来自通常有用的 arch 页面

(是的,xkb或者至少它目前的状态是 PITA。复杂、无文档的系统,我相信没有人知道详细情况。参见第一个引文这里。 )。

相关内容