我使用此命令:setxkbmap -option "lv3:caps_switch"
自定义我的键盘快捷键(home、end、左箭头和右箭头)。
配置驻留在/usr/share/X11/xkb/symbols/us
文件中。一切正常,除了当我切换键盘布局时,由 创建的映射setxkbmap
会停止工作,即使我切换回美国布局也不会再工作。我必须手动重新运行setxkbmap -option "lv3:caps_switch"
才能使我的映射再次工作。
有办法解决这个问题吗?我的 Ubuntu 版本是 14.04
答案1
据我所知,Ubuntu 13.10 改变了 Unity/Gnome 布局管理方式。因此它支持多个输入引擎,并将布局更改快捷方式的控制移至更高级别(窗口管理器/设置守护进程)。
setxkbmap
与较低级别的 XKB 配合使用,设置守护进程不会查询较低级别的更改。它只是直接应用存储在其数据库中的设置。
有两个选项可以帮助您实现这一目标:
存储 XKB 设置(推荐)
gsettings set org.gnome.desktop.input-sources xkb-options "['lv3:caps_switch']"
直接在布局中添加三级设置
us
,如下图所示:... key <AB09> { [ period, greater ] }; key <AB10> { [ slash, question ] }; key <BKSL> { [ backslash, bar ] }; include "level3(caps_switch)" };
然后运行
sudo dpkg-reconfigure xkb-data
,切换到另一个布局然后返回。