我知道如何使用 xmodmap 重新映射 Caps 锁定键,使其充当 Control 键或 Escape 键。我想将这两个功能结合如下:
当我按下然后松开 Caps 锁定键时,它会发送 Escape。当我按住 Caps lock 并按下另一个键(比如 A)时,它会发送 Control-A。
是否有一些 xkb、xmodmap 和其他东西的组合可以使 Caps lock 在 X 中以这种方式运行?
我在 Macbook Air 3,1 上使用 Ubuntu Precise。
小智 44
我在我的 Mac 上有这个设置,我试图为 Ubuntu 找到一种方法,但不幸的是。
嗯,它现在正在工作。感谢 tungd 为我推荐xcape
. 我所做的非常简单明了。
在系统偏好设置下?键盘布局? 选项……?Ctrl 键位置,我检查Caps Lock 为 Ctrl。
在终端运行中:
xcape -e 'Control_L=Escape'
Run Code Online (Sandbox Code Playgroud)
完成,在使用时像修饰符一样Caps Lock工作,Ctrl在Esc单独按下时工作(有几百毫秒的轻微延迟,如xcape
自述文件中所述,因此它仍然不如使用 KeyRemap4MacBook 的 Mac 解决方案最佳。)
小智 8
我也在找这个 一周前,我发现自己使用了部分解决方案xmodmap
:
add Control = Caps_Lock
remove Lock = Caps_Lock
keysym Caps_Lock = Escape
Run Code Online (Sandbox Code Playgroud)
这当然不能完美地工作,当我按下 CapsLock 时,它有效地同时发送了 Escape 和 Ctrl,但我对它感到满意一段时间。
最后我找到了这个小工具https://github.com/alols/xcape。所以现在我可以简单地将 CapsLock 重新映射到 Ctrl 并让 xcape 完成它的工作。
安装 xcape
sudo apt-get install xcape
Run Code Online (Sandbox Code Playgroud)
将这两行添加到您的 ~/.bashrc
/usr/bin/setxkbmap -option 'caps:ctrl_modifier'?
/usr/bin/xcape -e 'Caps_Lock=Escape' -t 100
Run Code Online (Sandbox Code Playgroud)
注意部分-t 100
,如果你不设置它,如果你使用vim,你可能会注意到Esc的延迟。
编辑:为大多数智能(较新)显示管理器修复了此问题。
根据 Louis 和 Sergiy 的评论,我提出了这个解决方案,该解决方案适用于带有 LightDM 和 Unity 的 Ubuntu 16.04(Xenial)。
我将以下代码行放入.xprofile
我的主目录中的文件中。
setxkbmap -option 'caps:ctrl_modifier' && xcape -e 'Caps_Lock=Escape' &
Run Code Online (Sandbox Code Playgroud)
尾随 & 将 xcape 命令置于后台,以便它不会阻止您的会话。setxkbmap 立即进行更改。
谢尔盖:
我使用 gnome-tweak-tool 将 Caps Lock 映射到 Ctrl,因为 Ubuntu 14.04 的系统设置中没有键盘布局。然后 xcape -e 'Control_L=Escape' 不起作用,但是在使用 xcape -d 之后我发现 Caps Lock 生成键码 66 并分别重新映射:xcape -e '#66=Escape'。– Sergiy Byelozyorov 2014 年 9 月 4 日 10:08
路易斯:
根据这篇博文,可以单独使用 xcape 执行此操作: setxkbmap -option 'caps:ctrl_modifier' xcape -e 'Caps_Lock=Escape' setxkbmap -option 'caps:ctrl_modifier' xcape -e 'Caps_Lock=Escape;Control_L= Escape;Control_R=Escape' – Louis Simoneau 2015 年 8 月 4 日 10:06
gre*_*een -4
您可以执行第一个操作(映射Caps Lock到Esc),但不能执行第二个操作。
简单解释: Caps Lock只是没有设计成在按下时执行某些操作。
Caps Lock是锁定键,而Ctrl、Alt、 和 等键Shift是修饰键。
从名称中可以明显看出,修改键修改下一个按下的键的功能,而锁定键充当切换开关来打开或关闭某些特定功能。
现在,由于 Caps Lock 是Lock Key ,因此如果不将其映射到Modifier Key,就无法使其表现得像Modifier Key 。 Caps Lock其本身不能用作修饰键。
归档时间: |
|
查看次数: |
23443 次 |
最近记录: |