apt-get не работает после частичного обновления до 16.04 с 14.04

Частичный ответ:

Первый (тихий )HID-дескриптор выглядит так, как вы обычно видите для USB-клавиатур :Отчет состоит из 8 бит для левого и правого Ctrl/Shift/Alt/Meta (Win ), за которым следует зарезервированный байт (, ноль )и 6 байтов для скан-кодов для нажатий клавиш. (По этой причине USB-клавиатуры ограничены 6 -одновременными нажатиями клавиш ). Это может быть своего рода устаревший дескриптор.

Второй дескриптор использует несколько типов отчетов. Первые три предназначены для «потребителя» (, что бы это ни было ), управления питанием и одного поставщика -, определенного (, поэтому мы не знаем, что он делает ). Остальные три типа отчетов (с идентификаторами от 4 до 6 )сообщают о каждой отдельной клавише в виде битового поля (, что имеет большой смысл для игровой клавиатуры с n -нажатий клавиш ).

Как видно из дампа hidraw, функциональные клавиши отображаются правильно. :Нажатие Левый Ctrl дает вам

04 01 00 00 00 00 00 00 

(идентификатор отчета 4, первый бит на ), при нажатии левый Alt вы получите

04 04 00 00 00 00 00 00

(идентификатор отчета — 4, третий бит — )и т. д., и отпускание всех клавиш сбрасывает все биты на ноль.

Отображение устройства в ядре

Keyboard.00e0 ---> Key.LeftControl
Keyboard.00e1 ---> Key.LeftShift
Keyboard.00e2 ---> Key.LeftAlt
Keyboard.00e3 ---> Key.LeftMeta
Keyboard.00e4 ---> Key.RightCtrl
Keyboard.00e5 ---> Key.RightShift
Keyboard.00e6 ---> Key.RightAlt
Keyboard.00e7 ---> Key.RightMeta

на самом деле заявляет, что понимает это, и должен отображать их на разные сканированные коды. Так что, если вы действительно не видите ничего похожего на

type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
-------------- SYN_REPORT ------------
type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d
type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
-------------- SYN_REPORT ------------
type 4 (EV_MSC), code 4 (MSC_SCAN), value 38
type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
-------------- SYN_REPORT ------------
type 4 (EV_MSC), code 4 (MSC_SCAN), value 38
type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 0
-------------- SYN_REPORT ------------

вevtest(обратите внимание на разные MSC_SCANкоды, один раз 1d, один раз 38; не обращайте внимания на строку с EV_KEY), тогда что-то пойдет не так, когда ядро ​​сопоставит отчет HID со скан-кодами.

В таком случае, пожалуйста, сообщите об ошибке разработчикам ядра. (Думаю, для "подсистемы ввода" )включите всю информацию на данный момент и посмотрите, есть ли у них идея отладить это.

Возможное альтернативное решение — как-то активировать устаревшее HID-устройство, так как оно больше похоже на обычную USB-клавиатуру и может работать «из коробки». Есть ли на клавиатуре какие-то клавиши или комбинации клавиш, которые выглядят так, как будто они могут сделать это?

0
19.11.2017, 11:10
1 ответ

Tuve el mismo problema, lo resolví con:

sudo mv /etc/ufw/user{,6}.rules /lib/ufw/

Parece que el script de instalación espera archivos reales en /lib/ufw/user{,6}.rulesy desea copiarlos en /etc/ufw/user{,6}.rulesY luego crear un enlace desde la ubicación anterior a la nueva, probablemente por razones de compatibilidad. Sin embargo, el script no verifica si ya se configuró de esta manera.

La primera instrucción dada (en la parte superior )es simplemente borrar los enlaces y mover los 2 archivos de nuevo a /lib/ufwdonde parece que ufwel script de instalación los está esperando.

Posteriormente, sudo apt-get install -frealizó ufwel proceso de instalación sin quejarse.

1
28.01.2020, 05:06

Теги

Похожие вопросы