升级至 16.04 后媒体密钥未通过

升级至 16.04 后媒体密钥未通过

从 Ubuntu GNOME 15.10 升级到 16.04 后,所有工作台均使用do-release-upgrade.shell 设置、steam 游戏、编码 IDE、数据库、vbox、nodejs/nginx 服务器等……

但是我的 Microsoft 键盘上的媒体键没有传递。重置值gnome-control-center keyboard无效。当我尝试从键盘设置值时——键事件没有传递。但sudo showkey处理所有键(https://i.stack.imgur.com/uMSOc.png):

显示键:

vasiliy0s@0sserver$ LANG=C sudo showkey
[sudo] password for vasiliy0s: 
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)...
keycode  28 release
keycode 114 press
keycode 114 release
keycode 115 press
keycode 115 release
keycode 113 press
keycode 113 release

lsusb:

vasiliy0s@0sserver:~$ lsusb | grep Microsoft
Bus 001 Device 006: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth


lsb_release:

vasiliy0s@0sserver:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04 LTS
Release:    16.04
Codename:   xenial

答案1

为什么会这样?

原因是该/lib/udev/rules.d/51-these-are-not-joysticks-rm.rules文件于 2016 年 1 月添加到 Debian 软件包中按照要求Debian 错误 #714399并以1.4.9-1版本发布。

等等,这是 Ubuntu,不是 Debian!— 是的,但是Ubuntu 软件包基于 debian 版本。

但后来发现微软键盘的多媒体键已被禁用。我怀疑这是因为 Ubuntu 15.10 和 16.04 之间的 udev 或内核发生了一些变化。我知道这一点是因为我编写了该文件,它在 15.10 中运行良好,但该错误只发生在 16.04 中。

今天(八月),我终于更新了修复程序的存储库(虽然修复方案于 5 月份提出)。此修复程序将在将来某个时候添加到 Debian 和 Ubuntu 软件包中。

想要了解更多吗?请查看GitHub 上的 udev-joystick-blacklist 项目.(免责声明:我创建了该项目。)

如何修复?

选项 1(懒惰的选项)

只需等到软件包更新joystick发布即可。

选项 2(非游戏玩家)

您可以删除该黑名单文件:

sudo rm /lib/udev/rules.d/51-these-are-not-joysticks-rm.rules

每当软件包更新或重新安装时,都应重新创建该文件。

选项 3(游戏玩家)

您可以使用以下方式手动更新该文件来自存储库的新版本。但是,请注意joystick软件包的更新。我不确定是否有任何更新只会覆盖文件,或者更新是否会要求用户合并文件。

相关内容