当前位置: 首页>>技术问答>>正文


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

, , ,

问题描述

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

我该怎么办?

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

我的最终目标是当我点击controlcommand进行功能控制时我想要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 <LCTL> {    [ Super_L       ]   };
key <LWIN> {    [ Control_L     ]   };

...

key <RCTL> {    [ Super_R       ]   };
key <RWIN> {    [ Control_R     ]   };

第4步:清除xkb的缓存

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

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

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

第三种解决方法

进入System -> Preferences -> Keyboard

单击”Layouts”选项卡,然后单击”Layout Options”按钮。

点击“Alt /Win键行为”

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

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

第四种方法

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

在12.04.1你改变这个:

首先,转到”System Settings”然后点击”Keyboard”然后点击”Layout Settings”(在左下角),然后点击右下方的”Options”,然后展开“Alt /Win键行为”标签,然后选择“控制映射到赢取键(和通常Ctrl键)“

第五种方法

Apple键盘的community Ubuntu help page提供了以下步骤来永久地进行此更改:(测试2017-05-27)

Run the following command to append the configuration line to the file /etc/modprobe.d/hid_apple.conf creating it if necessary:

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

Trigger copying the configuration into the initramfs bootfile.

sudo update-initramfs -u -k all 

Optionally, reboot

sudo reboot 

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

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1664.html,未经允许,请勿转载。