Espero que agora todos vocês tenham saído de mouses e teclados PS/2, mas se você ainda tiver alguns sistemas antigos funcionando junto com o hardware PS/2, há algumas melhorias a serem encontradas com o kernel Linux 6.5 atualmente em desenvolvimento.
As atualizações do subsistema de entrada enviadas na semana passada pelo mantenedor Dmitry Torokhov incluem algumas melhorias no hardware PS/2 da velha escola… no registrador de dados, mas o kernel espera receber um ACK para um comando enviado a um dispositivo (como a alternância de LED do teclado).”
Torokhov mais elaborado no patch original série sobre o foco deste trabalho no antigo código do driver do kernel PS/2:
“A principal razão para esta série de patches é lidar com o caso quando o controlador EC/teclado já travou um scancode no buffer de saída ao mesmo tempo em que o host (kernel) está enviando um comando PS/2 para o controlador/dispositivo. O dispositivo deve parar de escanear (teclado) ou enviar dados de coordenadas (mouse) e, em vez disso, enviar confirmação (0xfa) e, em seguida, possivelmente a resposta do comando, mas se o buffer de saída já contiver o byte scancode, ele não poderá ser substituído por um byte ACK.
O cenário típico para isso é o usuário ativando uma função CapsLock, com o host enviando um comando para alternar o LED CapsLock. Se ao mesmo tempo, o teclado transmitindo o código de interrupção para a chave, o kernel pode confundi-lo com uma resposta de comando de lixo e ficar confuso.”
Além das melhorias do PS/2, também há várias outras alterações, incluindo uinput agora permitindo que o espaço do usuário injete carimbos de data/hora para eventos de entrada e suporte para teclas capacitivas com o driver do controlador de toque Atmel. A lista completa de alterações do subsistema de entrada por meio de este pull que já foi honrado e mesclado na semana passada.
Em uma nota relacionada, o subsistema HID para Linux 6.5 traz o driver do controlador NVIDIA SHIELD, suporte ao controle do Xbox e outras melhorias notáveis para hardware moderno.