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

Vas*_* Os 3 upgrade keyboard media-buttons 16.04

使用do-release-upgrade. shell 设置、steam 游戏、编码 IDE、数据库、vbox、nodejs/nginx 服务器和其他...

但是我的微软键盘上的媒体键没有通过。重置值gnome-control-center keyboard无效。当我尝试从键盘设置值时 - 键事件未通过。但sudo showkey处理所有密钥(http://i.imgur.com/8YmbWik.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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

Den*_*aia 5

为什么会发生?

原因是文件/lib/udev/rules.d/51-these-are-not-joysticks-rm.rules,它于 2016 年 1 月根据Debian 错误 #714399 的要求添加到 Debian 软件包中,并作为版本 1.4.9-1 发布。

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

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

今天(8 月),我终于用修复更新了存储库(即使修复是在 5 月提出的)。此修复程序将在未来某个时候添加到 Debian 和 Ubuntu 软件包中。

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

如何解决?

选项 1(懒惰的)

只需等到joystick包的更新发布。

选项 2(非游戏玩家)

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

sudo rm /lib/udev/rules.d/51-these-are-not-joysticks-rm.rules
Run Code Online (Sandbox Code Playgroud)

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

选项 3(玩家一)

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