我一直试图在Mac上切换我的超级和控制键,并已经成功了一半。 如果可能的话,我想避免创build一个自定义的.Xmodmap,因为每次加载自定义地图时都会popup一个临时的100%cpu缺陷。
经过一番挖掘之后,我终于在01-keyboard-layout.conf文件中添加了选项“XkbOptions”“altwin:ctrl_win”,这个文件在那里得到了一半:例如,左边的命令现在映射到133 Control_L。
但是,控制键保持不变。 左控制,例如仍然映射到37 Control_L。
通过evdev.lst(和一堆谷歌search)看起来没有相关的XkbOption将控制键变成超级,现在我很困难。
有任何想法吗?
好的,我终于搞定了这个工作。
首先,这两个资源对于想要深入研究这个混乱的人来说是惊人的:
http://madduck.net/docs/extending-xkb/&http://www.charvolant.org/~doug/xkb/html/index.html
对于任何专门试图做这种切换的人来说,这就是我所做的:
1)在/ usr / share / X11 / xkb / symbols中为你的新映射创建一个文件2)把它放在里面:
// Control is SWAPPED with Win-keys partial modifier_keys xkb_symbols "cmd_n_ctrl" { key <LWIN> { [ Control_L ] }; key <RWIN> { [ Control_R ] }; key <LCTL> { [ Super_L ] }; modifier_map Control { <LWIN>, <RWIN> }; modifier_map Mod4 { <LCTL> }; };
3:编辑/ usr / share / X11 / xkb / rules中的evdev以包含:
altwin2:cmd_n_ctrl = +altwin2(cmd_n_ctrl)
(在选项=符号部分下)
4:将你的新选项添加到evdev.lst(相同的目录):
altwin2:cmd_n_ctrl
(在选项部分下)
5:现在编辑您的01键盘配置文件,以包含您创建的新选项。 我看起来像这样:
Section "InputClass" Identifier "keyboard-layout" Driver "evdev" MatchIsKeyboard "yes" Option "XkbLayout" "us, ru, ca, fr" Option "XkbOptions" "altwin2:cmd_n_ctrl" EndSection
6:重启,你应该很好走。
上述资源可以更好地解释所有这些,或者可能碰到的任何障碍。 可能有更好的方法来做到这一点(可能不会改变/ usr / share的内容),但到目前为止,这是让我启动和运行的东西。
希望能帮助别人卡在这个地方!