Recentemente, comprei um teclado retroiluminado que foi projetado para que a tecla Scroll Lock fosse usada para alternar a luz de fundo. Eu rapidamente descobri que o Canela não responde corretamente quando a tecla Scroll Lock é pressionada. Originalmente, eu pensei que a luz de fundo do teclado era DOA porque todo o resto funcionava imediatamente. Após uma reinicialização, descobri que, antes de iniciar o Xorg, era possível alternar com êxito a luz de fundo usando a tecla Scroll Lock. Então, mais uma vez, após iniciar o Xorg (e, consequentemente, cinnamon_session), essa funcionalidade parou de funcionar novamente.
Para que a luz de fundo funcionasse após o lançamento do Xorg, fui forçado a emitir um: xset led named "Scroll Lock"
para ativar e desativar essa funcionalidade.
Depois de um pouco de pesquisa, deparei-me com um programa chamado xev
que despejava as principais informações do evento no terminal após o início. Ao pressionar a tecla Scroll Lock, o terminal foi preenchido com esta informação:
Evento KeyPress, série 34, NO sintético, janela 0x2c00001, raiz 0x2df, subw 0x0, tempo 2609824, (410,0), raiz: (1724,142), estado 0x0, código de chave 78 (keysym 0xff14, Scroll_Lock), same_screen YES, XLookupString fornece 0 bytes: XmbLookupString fornece 0 bytes: XFilterEvent retorna: False
Evento KeyRelease, série 37, NO sintético, janela 0x2c00001, raiz 0x2df, subw 0x0, tempo 2609912, (410,0), raiz: (1724,142), estado 0x0, código de chave 78 (keysym 0xff14, Scroll_Lock), same_screen YES, XLookupString fornece 0 bytes:
Então eu sei que o evento principal está sendo enviado para o kernel.
Além disso, curiosamente, observei um comportamento estranho quando estava no terminal (ainda antes do lançamento do Xorg ou do Cinnamon) e usando o Scroll Lock. Nomeadamente, neste momento minha luz de fundo estava alternando conforme o esperado, mas quando o Scroll Lock estava ativado, nada que eu digitei foi gravado na tela. Depois de desativar o Scroll Lock, tudo o que eu escrevi foi imediatamente despejado no terminal como se estivesse sendo armazenado em buffer anteriormente.
tl; dr Qual é o problema com o Scroll Lock e o Xorg?