Ubuntu键盘Caps Lock大写键延迟问题
2019-03-10 本文已影响1人
爱折腾的大懒猪
在Ubuntu中当使用机械键盘时(换别的键盘好像没有问题)会出现类似按下Caps Lock
键后再按字母时仍没有切换大小写的一个延时效应(例如输入后出现:UBuntu,CAps LOck)。快速测试有没有这个问题可以疯按
HHHHH然后Caps Lock
马上继续按JJJJJJ。如果出现大写J就是出现问题。
虽然知道推荐的切换大写输入的方法是使用shift键, 然而习惯了使用Caps Lock键来回切换, 感觉那样更爽。。。
闲话少说,这是一个linux系统x留下来的久远的问题,并不是你的键盘出问题,也不是系统的问题。解决办法是运行一个脚本执行一些更改(不清楚为何这么久也不在系统中修正,至少在Ubuntu16中仍然有这个问题。)
先创建一个脚本,如capslockdelay.sh
:
#!/bin/sh
xkbcomp -xkb "$DISPLAY" - | sed 's#key <CAPS>.*#key <CAPS> {\
repeat=no,\
type[group1]="ALPHABETIC",\
symbols[group1]=[ Caps_Lock, Caps_Lock],\
actions[group1]=[ LockMods(modifiers=Lock),\
Private(type=3,data[0]=1,data[1]=3,data[2]=3)]\
};\
#' | xkbcomp -w 0 - "$DISPLAY"
记得chmod +x capslockdelay.sh
加入执行权限。
然后需要设置开机执行该脚本,注意不能使用开机upstart服务来。创建一个启动项,启动项放在~/.config/autostart
文件夹。例如创建~/.config/autostart/capslockdelay.desktop
[Desktop Entry]
Type=Application
Exec='/home/hom/bin/capslockdelay.sh'
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=CapsLockDelay
Name=CapsLockDelay
Comment[en_US]=
Comment=
可以运行之前的脚本或者开机项来解决。enjoy!