我搜索了整个网络,但似乎无法让 Xmodmap 或任何东西正常工作。我想用我的Command密钥交换我的两个Control密钥 - 本质上就是反转它们当前的作用。
我该如何做呢?
我尝试了xmodmap -e "keycode 133 = Control_L"
键码 134(右命令)和 37(左控制)的相应命令。我甚至尝试了这些命令,加上xmodmap -pke > ~/.Xmodmap
和。xmodmap ~/.Xmodmap
.xinitrc
我的最终目标是control
我希望当我点击并进行功能控制时, HUD / Dash 能够出现command
,即control-v
粘贴的常用快捷方式,我会点击command-v
答案1
我找到了答案。输入以下内容~/.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 键盘),但这是错误的。无论如何,我将键码重新分配给正确的键盘模拟,然后将键盘模拟分配给control
和mod4
。
答案2
我昨天刚刚在我的 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 之后未交换密钥,请重新启动计算机。在此之后,它对我来说就起作用了。
希望有帮助,祝你好运!
答案3
进入System -> Preferences -> Keyboard
单击“布局”选项卡,然后单击“布局选项”按钮。
点击“Alt/Win 键行为”
选择“控制映射到 Win 键(和通常的 ctrl 键)。
答案4
转到系统设置,然后转到键盘布局,然后转到选项,然后转到 Win/Alt 键行为,然后检查“Meta 开关 Ctrl”,然后在 Ctrl 位置检查“Ctrl 开关 Meta”,就这样!
在 12.04.1 上你可以通过以下方式改变这一点:
首先,进入“系统设置”,点击“键盘”,然后点击“布局设置”(左下角),然后点击右下角的“选项”,展开“Alt/Win 键行为”选项卡,然后选择“Control 映射到 win 键(和通常的 Ctrl 键)”