Estranheza do teclado Sun Type 6

Estranheza do teclado Sun Type 6

Este é um tiro no escuro, já que duvido que existam muitos teclados Sun Microsystems Tipo 6 por aí e provavelmente ainda menos usuários deles, mas aqui vai.

Eu uso este teclado há muito tempo e as teclas de aumentar e diminuir volume de repente pararam de funcionar corretamente. Troquei de teclado (tenho vários desses teclados) e determinei mais ou menos que não é um problema com o teclado em si.

Este problema é que quando as teclas Volume Upe Volume Downsão pressionadas, são gerados dois eventos de pressionamento de tecla e dois eventos de liberação:

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

Algumas outras chaves especiais também parecem apresentar um comportamento estranho.

Por exemplo, pressionar Page Upgera:

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

e pressionar Page Downgera:

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

Substituir o teclado por um Sun Microsystems Tipo 7 produz pressionamentos de tecla corretos e se eu não conseguir resolver isso, suspeito que terei que aguentar e trocar de teclado. Prefiro não, pois gosto da “sensação” deste teclado (por isso comprei cinco deles quando tive oportunidade).

Caso seja relevante, estou usando o seguinte pequeno script, que peguei de outro lugar em um dos sites da família Stack Overflow, para capturar as teclas digitadas:

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] "]"}'

evtestproduz informações semelhantes. Por exemplo, pressionar a Volume Uptecla produz:

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

Se for relevante, estou executando o Ubuntu 19.04, para o qual acabei de atualizar hoje do 18.04 LTE na esperança de que isso resolvesse o problema - obviamente não resolveu.

Meu palpite, que reconhecidamente é estranho, é que alguma configuração que influencia os drivers USB e/ou HID foi alterada ou atualizada, mas atualmente não consigo determinar o que ou onde isso pode estar.

Se houver algum outro diagnóstico que eu deva executar, agradeceria uma indicação.

Pistas muito apreciadas.

Acompanhamento (02/06/2019):

Acabei de testar o teclado em uma nova instalação do Ubuntu 19.04 em uma máquina diferente e obtive o mesmo modo de falha. Isso ocorreu com dois teclados Tipo 6 diferentes, então neste momento estou bastante convencido de que é algum tipo de problema de driver e não um problema mecânico com o teclado em si ou com a instalação específica do Ubuntu em uma máquina específica.

Segundo acompanhamento (29/07/2019):

Depois de deixar isso de lado por algumas semanas enquanto trabalhava em outro projeto, finalmente consegui revisitar o problema e, vejam só, o problema parece ter se resolvido sozinho.

No intervalo entre a postagem original no início de junho e hoje, perto do final de julho, é claro que houve algumas atualizações do kernel, que eu devidamente instalei, então talvez algo tenha sido corrigido ou alterado nesse ínterim.

Eu particularmente não gosto de problemas que se "consertam" sozinhos, mas neste caso, aceitarei o que puder.

informação relacionada