web-dev-qa-db-fra.com

Les touches multimédias ne passent pas après la mise à niveau vers 16.04

Tous les ateliers après la mise à niveau d'Ubuntu GNOME 15.10 à 16.04 en utilisant do-release-upgrade. Paramètres Shell, jeux Steam, IDE de codage, bases de données, vbox, serveurs nodejs/nginx et autres ...

Mais les touches multimédias de mon clavier Microsoft ne passent pas. Réinitialiser les valeurs dans gnome-control-center keyboard n'a aucun effet. Lorsque j'essaie de définir une valeur à partir du clavier, les événements de touche ne sont pas transmis. Mais Sudo showkey gère toutes les clés ( http://i.imgur.com/8YmbWik.png ):

afficher la touche:

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
3
Vasiliy Os

Pourquoi ça arrive?

La raison en est le fichier /lib/udev/rules.d/51-these-are-not-joysticks-rm.rules, qui a été ajouté au paquet Debian en janvier 2016 comme demandé dans bogue Debian n ° 714399 et publié sous la version 1.4.9- 1.

Attendez, c’est Ubuntu, pas Debian! - Oui, mais le paquet Ubunt est basé sur celui de Debian.

Cependant, il a été découvert par la suite que les touches multimédia de Microsoft Keyboard ont été désactivées . Je soupçonne que cela s’est produit à cause de changements dans udev ou dans le noyau entre Ubuntu 15.10 et 16.04. Je le sais parce que j’ai écrit ce fichier et qu’il fonctionnait bien en 15.10, mais le bogue n’est apparu qu’en 16.04.

Aujourd'hui (août), j'ai finalement mis à jour le référentiel avec le correctif (même si le correctif a été proposé en mai ). Ce correctif sera ajouté aux paquets Debian et Ubuntu dans le futur.

Voulez-vous en apprendre encore plus à ce sujet? Regardez le projet udev-joystick-blacklist sur GitHub . (Avertissement: j'ai créé ce projet.)

Comment le réparer?

Option 1 (le paresseux)

Il suffit d’attendre la publication d’une mise à jour du paquet joystick.

Option 2 (le non-joueur)

Vous pouvez simplement supprimer ce fichier de liste noire:

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

Chaque fois que le paquet est mis à jour ou réinstallé, le fichier doit être recréé.

Option 3 (le joueur)

Vous pouvez mettre à jour manuellement ce fichier avec ne nouvelle version du référentiel . Cependant, faites attention aux mises à jour du paquet joystick. Je ne sais pas si une mise à jour écrasera simplement le fichier ou si la mise à jour demandera à l'utilisateur de fusionner le fichier.

4
Denilson Sá Maia