首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新启用盖帽锁钥匙?

如何重新启用盖帽锁钥匙?
EN

Unix & Linux用户
提问于 2011-10-19 04:59:33
回答 2查看 8.7K关注 0票数 14

我目前正在设置默认键盘布局如下:

代码语言:javascript
复制
setxkbmap -layout us -variant dvorak -option ctrl:nocaps,[...]

它禁用caps锁键,并使其成为一个额外的ctrl键,以及一大群其他选项。

我想做以下操作来切换键盘布局:

代码语言:javascript
复制
setxkbmap -layout us -variant dvorak-l -option ctrl:swapcaps

但是,它没有重新启用caps锁键;据我所能看到的,左键和caps锁都保持为控制键。

我知道我可以清除整个选项列表,但是为了可维护性,我不想重复周围的选项。如何重新启用盖帽锁?

更新:使用xev(1)查看按键,显示ctrl:nocaps为两个键提供一个Control_L,而ctrl:swapcaps“恢复”大写锁键(按下键给出Caps_Lock)。然而,帽锁LED没有点亮,也不实际工作。

查看xkeyboard-config/symbols/ctrl文件中的X.org源代码确实提示了问题所在:

代码语言:javascript
复制
xkb_symbols "nocaps" {
    replace key <CAPS>  {  [ Control_L, Control_L ] };
    modifier_map  Control { <CAPS>, <LCTL> };
};
xkb_symbols "swapcaps" {
    replace key <CAPS>  {  [ Control_L ] };
    replace key <LCTL>  {  [ Caps_Lock ] };
};

后一个选项没有一个modifier_map行,不管它做什么

EN

回答 2

Unix & Linux用户

发布于 2012-10-26 16:43:04

以下命令应该可以工作:

代码语言:javascript
复制
xmodmap -e 'keycode 0x42 = Caps_Lock'

代码语言:javascript
复制
setxkbmap -option

幸运的是,上面的命令可以很好地恢复默认行为,这是我几乎不需要的。

我通常使用以下命令将capslock重新映射为Control (幸运的是VI/VIM支持CTRL而不是ESC):

代码语言:javascript
复制
setxkbmap -option ctrl:nocaps -layout gb
票数 15
EN

Unix & Linux用户

发布于 2013-02-21 12:32:46

有一个选项“capslock :capslock”(映射为在xkb_symbols中添加"+capslock(capslock)“),它支持capslock。

但是,这个选项(可能所有的大写:xxxxx ?)在现有的ctrl:xxxxx之前添加;作为ctrl:swapcaps重新定义capslock键,该选项没有任何效果。

因此,您绝对需要删除所有选项,并实际放置您想要的选项;选项存在的方式不应该撤消前一个选项的操作,并且有冲突的选项(例如,两个(或更多)具有相同键的选项)您无法定义它们的顺序。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/22903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档