在花费了数小时的搜索和摆弄之后,在Ubuntu 16.04中dconf-editor
,xbindkeys
我找到了一个非常简单的解决方案:
- 2分钟内即可完成快速设置
- 只需要安装xdotool
- 无需脚本
- 大写锁定仍然可以识别,但不能切换字母大小写
- 与标准的Ubuntu键盘自定义快捷方式设置一起使用
如果需要Gnome XF86AudioPlay
支持,则需要xdotool
(OP规定VLC不需要):
sudo apt install xdotool
现在是棘手的部分。每次您按键Caps LocK在播放和暂停之间切换音乐时,大写字母也会同时打开和关闭。
使用此方法可以关闭Caps Lock切换,同时仍保持激活状态:
setxkbmap -option caps:none
坚持Gnome的音乐播放器
然后在Ubuntu 16.04中进入设置>>键盘>>快捷方式>>自定义快捷方式:
- 将名称设置为
Audio Play
- 将命令设置为
xdotool key XF86AudioPlay
- 然后点击Apply按钮
添加新选项后,分配的快捷键将显示为Disabled。单击“ 禁用”,当提示您输入要分配的按键时,请Caps LocK按键。
VLC等音乐播放器
遵循上一节中针对Gnome的步骤,但对于命令,请改用此命令:
qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
VLC无法识别媒体键:如何使键盘媒体键在全球范围内可与VLC配合使用?即使内置在键盘中。因此,使用XF86AudioPlay的自定义键盘快捷键对没用xdotool
。
从命令行设置自定义键盘快捷键
本问答讨论如何从命令行设置自定义键盘快捷方式:如何从终端设置自定义键盘快捷方式?
停用大写锁定永久
下一步是setxkbmap -option caps:none
在重新启动后保持此状态。谷歌搜索结果由Terdon回答:保存setxkbdmap设置:
一种简单的方法是将命令添加到$HOME/.profile
文件中(如果不存在,则可以创建该命令):
setxkbmap -option caps:none
这应该使它在您每次登录时都能运行。
请注意,你应该使用$HOME/.profile
,而不是$HOME/.bash_profile
,$HOME/.bashrc
或一些其他类似的文件。这是因为您的登录管理器应读取此设置。
vlc --key-play-pause <key-string>
,但是我还没有找到VLC接受的大写锁定字符串...