linux添加键盘布局,Linux 定制键盘布局

目标:基于dvorak布局,修改:

number行数字和符号互换

关掉 caps lock,变成esc

左右两边shift 同时按,切换 shift-lock 状态

有多种方法可以达到目的,但是要做到多个软件兼容不容易。下面是一个完美的方案:

创建自定义的variant

修改 /usr/share/X11/xkb/symbols/us 添加:

partial alphanumeric_keys

xkb_symbols "dvorak-my" {

include "us(dvorak)"

name[Group1]= "English (Dvorak, with number/sym swapped)";

key { [ exclam, 1 ] };

key { [ at, 2 ] };

key { [ numbersign, 3 ] };

key { [ dollar, 4 ] };

key { [ percent, 5 ] };

key { [ asciicircum, 6, dead_circumflex, dead_circumflex ] };

key { [ ampersand, 7 ] };

key { [ asterisk, 8 ] };

key { [ parenleft, 9, dead_grave] };

key { [ parenright, 0 ] };

};

修改 `/usr/share/X11/xkb/rules/base.xml, 添加:

dvorak-my

English (Dvorak, with number/sym swapped)

修改 `/usr/share/X11/xkb/rules/evdev.xml, 添加:

dvorak-my

English (Dvorak, with number/sym swapped)

修改 `/usr/share/X11/xkb/rules/base.lst, 添加:

dvorak us: English (Dvorak)

+ dvorak-my us: English (Dvorak, with num/sym swapped)

dvorak-intl us: English (Dvorak, intl., with dead keys)

配置 fcitx

用配置工具配置 fcitx,使用 dvorak-my 作为默认键盘。如果没出现选项,重启fcitx

启动时设置键盘

setxkbmap -layout us -variant dvorak-my -option -option caps:escape -option shift:both_shiftlock

添加到 x window 的启动脚本中,比如 i3wm, ~/.config/i3/config

更新:caps 变成 esc 后,ctrl键也不好按。做如下修改:

单按caps时,作为esc,按住不放,再按其他键,作为ctrl使用,比如ctrl-c。修改:

setxkbmap -layout us -variant dvorak-my -option -option ctrl:swapcaps -option shift:both_shiftlock

xcape -e 'Control_L=Escape'

首先将 ctrl 和 caps lock 交换位置,再用 xcape 命令将左ctrl单按时作为Escape使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值