文档章节

利用setxkbmap来改变Ctrl键与Caps Lock键

s
 swanf
发布于 2017/10/13 09:19
字数 628
阅读 137
收藏 0

网上对于改变Ctrl键的位置,基本上有“按键提速说”和“保养小指说”两种,根本原因还是Emacs对Ctrl键的需求高得就好比鼠标对鼠标左键的需求,而Ctrl键的默认位置实在太远……我想我的手指已经很细长了(曾经有人这么说过),小指按Ctrl还是很难过,至少食指需要左移一个键位才行。所以为了踏进神的领域Emacs,改变Ctrl键的位置是势在必行。

看过无数文章教人怎么利用xmodmap改键位映射,新建一个~/.xmodmaprc文件,然后添加一系列规则,然后.bashrc的时候载入云云。这里我指出另一种更"基本"的方法,说它更基本,因为它用的都是xorg自带的软件……

不知道有多少人知道setxkbmap这样一个命令,它的基本用法是改变键盘布局,好比你临时遇到一个日本的键盘,你找不键了,你可以setxkbmap -layout us,用完了再setxkbmap -layout jp即可复原。
偶然网上也流传一些专用的用法,比如:

$ setxkbmap -option ctrl:nocaps

这个命令可以让Caps Lock键代替Ctrl键
又如

$ setxkbmap -option ctrl:swapcaps

这个命令可以交换Caps Lock键与左Ctrl键

这里有一个问题,就是——这些选项在哪儿?
setxkbmap --help,得不到任何信息
man setxkbmap,依旧得不到任何信息
实际上,经俺各种神经质调查发现,这些选项位于这几个文件里:
/usr/share/X11/xkb/rules/evdev.lst
/usr/share/X11/xkb/rules/base.lst
这俩文件一模一样……

接下来就好办了,利用grep搜索过滤"ctrl:或:ctrl"。

$ grep -e "ctrl:\|:ctrl" /usr/share/X11/xkb/rules/evdev.lst

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

  grp:ctrls_toggle     Both Ctrl keys together

  grp:ctrl_shift_toggle Ctrl+Shift

  grp:ctrl_alt_toggle  Alt+Ctrl

  ctrl:nocaps          Caps Lock as Ctrl

  ctrl:lctrl_meta      Left Ctrl as Meta

  ctrl:swapcaps        Swap Ctrl and Caps Lock

  ctrl:ac_ctrl         At left of 'A'

  ctrl:aa_ctrl         At bottom left

  ctrl:rctrl_ralt      Right Ctrl as Right Alt

  ctrl:menu_rctrl      Menu as Right Ctrl

  ctrl:ctrl_ralt       Right Alt as Right Ctrl

  caps:ctrl_modifier   Make Caps Lock an additional Control but keep the Caps_Lock keysym

  altwin:ctrl_win      Control is mapped to Win keys (and the usual Ctrl keys)

  altwin:ctrl_alt_win  Control is mapped to Alt keys, Alt is mapped to Win keys

  terminate:ctrl_alt_bksp Control + Alt + Backspace

从中选一种方法放ctrl即可,我目前选了caps:ctrl_modifier,觉得还可以。

本文转载自:

共有 人打赏支持
上一篇: 2017年日记集
下一篇: bash变量的笔记
s
粉丝 0
博文 7
码字总数 25222
作品 0
广州
程序员
私信 提问
Swap left ctrl and alt in Linux

因为我的笔记本Ctrl被Fn键隔的大老远,必须换之! Caps 跟 Esc 互换,左边的Ctrl 和Alt 互换,这是我个人用的映射。这样,Esc在A的左边,Ctrl在空格左边,不常用的Alt在空格右边(偶尔也用左...

迨晢
2013/12/02
0
1
ubuntu下Xmodmap映射Esc和Ctrl_L

  一般来说,用Vim、Emacs的人,都会有做键盘映射的想法   我当然也是,开始学习Vim的时候,就觉得,把Esc键放在左上角, 是一件很SB的事情,稍微大一点的键盘,手指必须要离开位置才能按...

graz春江
2016/07/09
17
0
给你的小指减负:将Caps Lock键改成Ctrl

长时间使用Emacs经常会觉得小指疼痛,一个月前我把自己用的三台电脑(两台winxp,一台archlinux)的Caps Lock键的功能都改成了和左Ctrl一样,这样小指按起来就舒服多了,另外由于平时不需要用...

曾赛
2010/04/24
648
0
Ubuntu 14.04替换ctrl和caps键

原文参考:http://askubuntu.com/questions/149971/how-do-you-remap-a-key-to-the-caps-lock-key-in-xubuntu/223674#223674 打开配置文件。 sudo vi /etc/default/keyboard 找到“XKBOPTION......

chuqixiaozhu
2015/11/09
0
0
PyAutoGUI——让所有GUI都自动化

安装代码: pip install pyautogui 1.简介 1.1 目的 PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux)。可以用pip...

waitforblack
04/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
4分钟前
0
0
[LintCode] Number of Islands(岛屿个数)

描述 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 样例 在矩阵: [ [1, 1, 0, 0, 0], [0, 1, 0, 0, ...

honeymose
5分钟前
0
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
9分钟前
0
0
spark安装测试

spark安装测试 由于本地已经安装好hadoop相关组件,所以本文是在yarn的基础上对spark进行安装及测试 确保hdfs及yarn成功启动,hadoop版本为2.7.3 安装scala,由于本人安装的spark是2.4.0,对应...

-九天-
23分钟前
3
0
周末看完了《电能计量自动化技术》

整体质量还行,下面分别将心得记录如下: 第一章:发展历程可以看看,现在算是智能电网阶段 2:讲主站系统。以文件进行各模块的交互很值得思考,尤其是批量数据,多团队合作的情况下。另外线...

max佩恩
43分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部