Странности клавиатуры Sun Type 6

Странности клавиатуры Sun Type 6

Это маловероятно, поскольку я сомневаюсь, что на рынке много клавиатур Sun Microsystems Type 6 и, вероятно, еще меньше их пользователей, но вот так.

Я пользуюсь этой клавиатурой уже много лет, и клавиши увеличения и уменьшения громкости внезапно перестали работать как надо. Я менял клавиатуры (у меня их несколько) и более или менее определил, что проблема не в самой клавиатуре.

Проблема заключается в том, что при нажатии Volume Upклавиш Volume Downи генерируются два события нажатия и два события отпускания клавиш:

key press   122 [XF86AudioLowerVolume]
key press   123 [XF86AudioRaiseVolume]
key release 122 [XF86AudioLowerVolume]
key release 123 [XF86AudioRaiseVolume]

Некоторые другие специальные клавиши также, похоже, ведут себя странно.

Например, нажатие Page Upгенерирует:

key press   86 [KP_Add]
key press   112 [Prior]
key release 86 [KP_Add]
key release 112 [Prior]

и нажатие Page Downгенерирует:

key press   117 [Next]
key press   104 [KP_Enter]
key release 117 [Next]
key release 104 [KP_Enter]

Замена клавиатуры на Sun Microsystems Type 7 обеспечивает правильное нажатие клавиш, и если я не смогу решить эту проблему, я подозреваю, что мне придется стиснуть зубы и сменить клавиатуру. Я бы предпочел этого не делать, поскольку мне нравится «ощущение» этой клавиатуры (вот почему я купил пять таких, когда у меня была возможность).

Если это важно, я использую следующий небольшой скрипт, который я стащил с одного из сайтов семейства Stack Overflow, для захвата нажатий клавиш:

xinput list | \
    grep -Po 'id=\K\d+(?=.*slave\s*keyboard)' | \
    xargs -P0 -n1 xinput test | \
    awk 'BEGIN{while (("xmodmap -pke" | getline) > 0) \
        k[$2]=$4} {print $0 "[" k[$NF] "]"}'

evtestпроизводит похожую информацию. Например, нажатие Volume Upклавиши производит:

Event: time 1559427389.998130, -------------- SYN_REPORT ------------
Event: time 1559427392.390430, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70081
Event: time 1559427392.390430, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time 1559427392.390430, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70080
Event: time 1559427392.390430, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 1559427392.390430, -------------- SYN_REPORT ------------
Event: time 1559427392.438435, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70081
Event: time 1559427392.438435, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
Event: time 1559427392.438435, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70080
Event: time 1559427392.438435, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 1559427392.438435, -------------- SYN_REPORT ------------

Если это важно, я использую Ubuntu 19.04, на которую я только сегодня обновился с 18.04 LTE в надежде, что это решит проблему. Разумеется, этого не произошло.

По моему предположению, которое, надо признать, весьма сомнительное, какая-то конфигурация, влияющая на драйверы USB и/или HID, была изменена или обновлена, но в настоящее время я не могу определить, что именно или где это может быть.

Если есть еще какие-то диагностические процедуры, которые мне следует провести, буду признателен, если вы укажете на них.

Буду очень признателен за подсказки.

Продолжение (02.06.2019):

Я только что проверил клавиатуру на новой установке Ubuntu 19.04 на другой машине и получаю тот же режим отказа. Это было с двумя разными клавиатурами Type 6, так что на данный момент я вполне убежден, что это какая-то проблема с драйвером, а не механическая проблема с самой клавиатурой или с конкретной установкой Ubuntu на конкретной машине.

Второе продолжение (29.07.2019):

Оставив эту ложь без внимания на несколько недель, пока я работал над другим проектом, я наконец-то вернулся к этому вопросу, и, о чудо, проблема, похоже, решилась сама собой.

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

Мне не особенно нравятся проблемы, которые «решаются» сами собой, но в данном случае я приму то, что смогу получить.

Связанный контент