web-dev-qa-db-fra.com

Le clavier USB ne fonctionne pas dans la session Xubuntu - Comment déboguer?

Mon clavier USB ne fonctionne pas sous Xubuntu, mais sous Gnome, Unity ou la console. Détails ci-dessous ...

J'ai un récepteur USB unificateur Logitech qui se connecte à un clavier K330 et à une souris. J'ai deux machines sous Xubuntu 14.04. Sur un, ils fonctionnent parfaitement. D'autre part, la souris fonctionne correctement et le clavier fonctionne sur la console (après avoir appuyé sur Ctrl-Alt-F1 pour allumer le clavier de l'ordinateur portable) et sur l'écran de connexion de lightdm, mais pas du tout une fois connecté à une session X .

J'ai exécuté xev et il ne montre aucun événement de frappe provenant du clavier USB (mais il affiche les événements du clavier de l'ordinateur portable).

Comment puis-je déboguer et résoudre ce problème?

Résultats des enquêtes suggérées jusqu'à présent

lsusb sorties:

Bus 003 Device 043: ID 046d:c52b Logitech, Inc. Unifying Receiver

xinput list - lorsque le récepteur est connecté, ajoute les éléments suivants sur les deux machines:

Logitech Unifying Device. Wireless PID:401b       id=15   [slave  pointer  (2)]
Logitech Unifying Device. Wireless PID:4016       id=16   [slave  pointer  (2)]

Notez que 401b et 4016 sont tous deux répertoriés sous Pointeur de noyau virtuel en tant que périphériques de pointeur et qu'ils semblent tous deux être des périphériques de souris. à avec `--long``

xinput list --long sur 4016 donne:

Logitech Unifying Device. Wireless PID:4016     id=13   [slave  pointer  (2)]
    This device is disabled
    Reporting 6 classes:
            Class originated from: 13. Type: XIButtonClass
            Buttons supported: 7
            Button labels: "Button 0" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
...

Ce périphérique est désactivé n'apparaît que sur l'ordinateur sur lequel il ne fonctionne pas!

xinput list --long sur 401b donne:

Logitech Unifying Device. Wireless PID:401b     id=12   [slave  pointer  (2)]
    Reporting 7 classes:
            Class originated from: 12. Type: XIButtonClass
            Buttons supported: 24
            Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
...
4
David Fraser

Puisque xinput list indique que votre clavier a l'ID de périphérique 12, vous avez besoin de xinput enable 12 et votre clavier devrait maintenant fonctionner. Cela n’aide pas à expliquer pourquoi Xubuntu ne l’active pas et n’aide pas non plus à le débrancher et à le rebrancher. D'après mon expérience, l'ID de périphérique est toujours le même.


Vous pouvez créer un script de surveillance pour activer le clavier s'il est désactivé:

  1. Exécutez Sudo mkdir -p /usr/local/bin pour créer le dossier des fichiers binaires locaux s'il n'existe pas.
  2. Exécutez Sudo touch /usr/local/bin/keyboard_watchdog pour créer un fichier sur ce dossier.
  3. Exécutez Sudo chmod 777 /usr/local/bin/keyboard_watchdog pour lui donner les autorisations de modification.
  4. Exécutez gedit /usr/local/bin/keyboard_watchdog pour éditer le fichier.
  5. Coller dedans ceci:

    #!/bin/bash
    
    while :; do
        xinput enable 12
        sleep 1
    done
    
  6. Enregistrez le fichier.
  7. Ouvrez Gestionnaire de paramètres et sélectionnez Session et démarrage.
  8. Sur l'onglet Application Autostart, cliquez sur le bouton Ajouter.
  9. Dans la boîte de dialogue qui s’ouvre, écrivez le nom de l’application (c.-à-d. Un correctif clavier) et la commande qui exécute l’application (/usr/local/bin/keyboard_watchdog).
  10. Une fois que vous avez cliqué sur OK, l'application sera ajoutée à la liste et démarrée automatiquement à la prochaine connexion à la session.
3
Jason