Клавиатура USB не работает в сеансе Xubuntu - Как отлаживать?

Моя клавиатура USB не работает в Xubuntu, но работает в Gnome, Unity или консоли. Подробности ниже...

У меня есть унифицированный USB-приемник Logitech, который подключается к клавиатуре K330 и мыши. У меня есть две машины, на которых работает Xubuntu 14.04. С одной стороны, они оба работают отлично. С другой, мышь работает нормально, а клавиатура работает на консоли (после нажатия Ctrl-Alt-F1 включить клавиатуру ноутбука) и на экране входа в систему lightdm, но ни в коем случае не входить в сеанс X.

Я бегал xev и он не показывает никаких событий нажатия клавиш, поступающих с клавиатуры USB (но он показывает события с клавиатуры ноутбука).

Как я могу отладить и решить эту проблему?

Результаты исследований предложены до сих пор

Выводы lsusb:

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

xinput list - при подключении приемника добавляет следующее на обеих машинах:

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

Обратите внимание, что оба 401b а также 4016 перечислены под указателем виртуального ядра как устройства-указатели, и оба выглядят как устройства мыши, если смотреть с помощью `--long``

список xinput - долго 4016 дает:

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"
...

Это устройство отключено, отображается только на компьютере, на котором оно не работает!

список xinput - долго 401b дает:

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"
...

1 ответ

Решение

Поскольку xinput list показывает, что ваша клавиатура имеет идентификатор устройства 12, что вам нужно xinput enable 12 и теперь ваша клавиатура должна работать. Это не помогает объяснить, почему Xubuntu не включает его, и не помогает, если вы отключите его и подключите его снова. По моему опыту идентификатор устройства всегда одинаков.


Вы можете создать сторожевой скрипт для включения клавиатуры, если она отключена:

  1. Бежать sudo mkdir -p /usr/local/bin создать локальную папку для двоичных файлов, если она не существует.
  2. Бежать sudo touch /usr/local/bin/keyboard_watchdog создать файл в этой папке.
  3. Бежать sudo chmod 777 /usr/local/bin/keyboard_watchdog дать ему разрешение на редактирование.
  4. Бежать gedit /usr/local/bin/keyboard_watchdog редактировать файл.
  5. Вставьте в него это:

    #!/bin/bash
    
    while :; do
        xinput enable 12
        sleep 1
    done
    
  6. Сохраните файл.
  7. Откройте диспетчер настроек и выберите " Сессия и запуск".
  8. На вкладке Автозапуск приложения нажмите кнопку Добавить.
  9. В открывшемся диалоговом окне введите имя приложения (т.е. исправление клавиатуры) и команду, которая запускает приложение (/usr/local/bin/keyboard_watchdog).
  10. Как только вы нажмете ОК, приложение будет добавлено в список и автоматически запустится при следующем входе в сеанс.
Другие вопросы по тегам