![我的蓝牙耳机上的按钮不起作用](https://linux22.com/image/1033121/%E6%88%91%E7%9A%84%E8%93%9D%E7%89%99%E8%80%B3%E6%9C%BA%E4%B8%8A%E7%9A%84%E6%8C%89%E9%92%AE%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我注意到,虽然我的“蓝牙耳机”工作正常,但其上的按钮(例如Previous、等Next)Play却不工作。
这是为什么?
答案1
从 Ubuntu 10.04 开始,uinput
处理此类按钮的模块默认不启动。要修复此情况:
- 停止蓝牙服务
sudo service bluetooth stop
- 启用 uinput 模块
sudo modprobe uinput
- 重新启动蓝牙服务
sudo service bluetooth start
这应该可以暂时解决问题,直到重新启动。要永久修复它,请运行:
echo 'uinput' | sudo tee -a /etc/modules
答案2
Vava 的答案并没有为我一个人解决这个问题(Ubuntu 20.04),我不得不另外xbindkeys
使用playerctl
https://wiki.archlinux.org/title/Xbindkeys
首先,通过快捷方式编辑器禁用/取消分配媒体播放和暂停的快捷方式。
sudo apt install xbindkeys playerctl
xbindkeys -d > ~/.xbindkeysrc
打开~/.xbindkeysrc
并删除第 40 行至第 66 行之间的所有行。
xbindkeys --key
获取原始键码(例如m:0x0 + c:209
)。您的耳机可能会在播放和暂停键码之间切换,因此请运行xbindkeys --key
两次以获取播放和暂停的代码。
将以下内容与正确的键代码一起放入您的 ~/.xbindkeysrc 中。
"playerctl play-pause"
m:0x0 + c:208t
"playerctl play-pause"
m:0x0 + c:209
如果您的耳机已经通过了 XF86Play 或其他一些键(您可以使用screenkey
来检查),您可以使用以下示例
"playerctl play-pause"
XF86AudioPlay
playerctl play-pause
将控制“第一个可用的玩家”。playerctl -h
如有必要,请阅读更多信息/选项。
以 root 身份打开/etc/X11/Xsession
。xbindkeys
在行后面添加该行PROGNAME=Xsession
。
重启。
我的耳机现在可以正确控制 Youtube 视频。