如何在MacBook Pro上切换Command键和Control键?

我已经浏览了网页,我似乎无法让Xmodmap /任何东西正常工作。 我想用我的Control键交换我的Command键 – 实质上是反转他们当前所做的事情。

我该怎么办?

我尝试了xmodmap -e "keycode 133 = Control_L"以及xmodmap -e "keycode 133 = Control_L" 134(右命令)和37(左控制)的相应命令。 我甚至尝试过这些命令,加上xmodmap -pke > ~/.Xmodmapxmodmap ~/.Xmodmap

我的最终目标是当我点击controlcommand进行function控制时,我希望HUD / Dash出现,即, control-v是粘贴的公共快捷方式,我会点击command-v

我想到了。 将以下内容放在~/.Xmodmap

 clear control clear mod4 keycode 105 = keycode 206 = keycode 133 = Control_L NoSymbol Control_L keycode 134 = Control_R NoSymbol Control_R keycode 37 = Super_L NoSymbol Super_L add control = Control_L add control = Control_R add mod4 = Super_L 

要进行测试,请运行以下命令:

 xmodmap ~/.Xmodmap 

要使其每次运行,请将其添加到“启动应用程序”。

这适用于任何MacBook Pro; 问题是Xmodmap将Super_L分配给左右控制键,Control_L分配给左控制键。 出于某种原因,默认情况下,Ubuntu认为MacBook Pro有一个标准的105键键盘(可能考虑完整的Apple键盘),但这是错误的。 无论如何,我将密钥代码重新分配给了正确的密钥,然后分配了密钥以controlmod4

我昨天刚刚在我的MBP13上安装了Ubuntu 16.04双启动。对于Ubuntu 16.04,这是我如何做到的:

第1步:启动终端

第2步:编辑X键盘扩展

 sudo nano /usr/share/X11/xkb/symbols/pc 

第3步:进行以下更改。 确保您的文件如下所示:

 key  { [ Super_L ] }; key  { [ Control_L ] }; ... key  { [ Super_R ] }; key  { [ Control_R ] }; 

第4步:清除xkb的缓存

 sudo rm -rf /var/lib/xkb/* 

步骤5(条件):如果在步骤4之后未交换密钥,请重新启动计算机。 在此之后它对我有用。

希望它有所帮助,祝你好运!

进入System -> Preferences -> Keyboard

单击“布局”选项卡,然后单击“布局选项”按钮。

点击“Alt / Win键行为”

选择“控制映射到Win键(和通常的ctrl键)。

来自http://ubuntuforums.org/showthread.php?t=1293081

转到系统设置,然后转到键盘布局,然后转到选项,然后转到Win / Alt键行为,然后检查“Meta开关Ctrl”,然后在Ctrl Position检查“Ctrl切换Meta”,你就可以了!

在12.04.1你改变这个:

首先,转到“系统设置”,然后单击“键盘”,然后单击“布局设置”(左下角),然后单击右下角的“选项”,然后展开“Alt / Win键行为”选项卡,然后选择“控制映射到win键(和通常的Ctrl键)“

Apple键盘的社区Ubuntu帮助页面提供了以下步骤来永久地进行此更改:(测试2017-05-27)

运行以下命令将配置行附加到文件/etc/modprobe.d/hid_apple.conf ,必要时创建它:

 echo options hid_apple swap_opt_cmd=1 | sudo tee -a /etc/modprobe.d/hid_apple.conf 

触发将配置复制到initramfs引导文件中。

 sudo update-initramfs -u -k all 

(可选)重启

 sudo reboot 

要暂时测试它,您可以运行

 echo 1 | sudo tee /sys/module/hid_apple/parameters/swap_opt_cmd 

重复如何使用xkb逐步交换命令和控制键?

在16.04,这是我最终实现这一目标的方式。 Xmodmap不能在所有应用程序中普遍使用,gnome tweak工具缺少该function,dconf编辑自定义altwin2密钥交换(就像这里的主要答案)失败,所以我把我的头发撕掉,直到我将几个答案合并到这个完整,简单的,优雅的解决方案:

 gksudo gedit /usr/share/X11/xkb/symbols/pc 

将其更改为:

 default partial alphanumeric_keys modifier_keys xkb_symbols "pc105" { key  { [ Escape ] }; // The extra key on many European keyboards: key  { [ less, greater, bar, brokenbar ] }; // The following keys are common to all layouts. key  { [ backslash, bar ] }; key  { [ space ] }; include "srvr_ctrl(fkey2vt)" include "pc(editing)" include "keypad(x11)" key  { [ BackSpace, BackSpace ] }; key  { [ Tab, ISO_Left_Tab ] }; key  { [ Return ] }; key  { [ Caps_Lock ] }; key  { [ Num_Lock ] }; key  { [ Shift_L ] }; key  { [ Alt_L ] }; key  { [ Super_L ] }; key  { [ Shift_R ] }; key  { [ Alt_R ] }; key  { [ Super_R ] }; key  { [ Menu ] }; // Beginning of modifier mappings. modifier_map Shift { Shift_L, Shift_R }; modifier_map Lock { Caps_Lock }; modifier_map Control{ Control_L, Control_R }; modifier_map Mod2 { Num_Lock }; modifier_map Mod4 { Super_L, Super_R }; // Fake keys for virtual<->real modifiers mapping: key  { [ ISO_Level3_Shift ] }; key  { [ Mode_switch ] }; modifier_map Mod5 { ,  }; key  { [ NoSymbol, Control_L, Control_R ] }; //include "altwin(meta_alt)" key  { [ Control_L ] }; key  { [ Control_R ] }; modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; key  { [ NoSymbol, Meta_L, Meta_R ] }; modifier_map Mod1 {  }; key  { [ NoSymbol, Super_L ] }; modifier_map Mod4 {  }; key  { [ NoSymbol, Hyper_L ] }; modifier_map Mod4 {  }; // End of modifier mappings. key  { [ XF86Display ] }; key  { [ XF86KbdLightOnOff ] }; key  { [ XF86KbdBrightnessDown ] }; key  { [ XF86KbdBrightnessUp ] }; }; hidden partial alphanumeric_keys xkb_symbols "editing" { key  { type= "PC_ALT_LEVEL2", symbols[Group1]= [ Print, Sys_Req ] }; key  { [ Scroll_Lock ] }; key  { type= "PC_CONTROL_LEVEL2", symbols[Group1]= [ Pause, Break ] }; key  { [ Insert ] }; key  { [ Home ] }; key  { [ Prior ] }; key  { [ Delete ] }; key  { [ End ] }; key  { [ Next ] }; key  { [ Up ] }; key  { [ Left ] }; key  { [ Down ] }; key  { [ Right ] }; }; 

保存。

 rm -rf /var/lib/xkb/* 

(我不知道这是否必要,但我做到了。)

重启。

更新为18.04,因为所提供的答案似乎都不适用于我的系统。 我做了一个干净的18.04安装并尝试使用有线铝制苹果键盘。 英语US上的Left Super的默认行为映射到Gnome Desktop Dashboard。 Tweak工具在易于使用的GUI中具有所有必要的设置!

 sudo apt install gnome-tweak-tool 

首先,我将仪表板热键交换到右侧 ,然后在“其他布局选项”下,您可以使用“Ctrl position / Swap Left Win with Left Ctrl ”,效果很好。