Usando setkeycodes para mapear pressionado e liberado para diferentes "teclas"

10

Eu tenho um teclado que tem uma roda de rolagem, mas não funciona no Ubuntu e o xevcomando não mostra nada ao movê-lo. Mas com o dmesgcomando eu encontrei isso:

Ao mover a roda de rolagem para cima:

atkbd serio0: Unknown key pressed (translated set 2, code 0x8b on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e00b <keycode>' to make it known.

Ao mover a roda de rolagem para baixo:

atkbd serio0: Unknown key released (translated set 2, code 0x8b on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e00b <keycode>' to make it known.

Parece ser a mesma tecla, mas a tecla pressionada / liberada muda se for movida para cima / para baixo.

xmodmap -pke | grep croll mostra:

keycode  78 = Scroll_Lock NoSymbol Scroll_Lock
keycode 185 = XF86ScrollUp NoSymbol XF86ScrollUp
keycode 186 = XF86ScrollDown NoSymbol XF86ScrollDown

Como configurá-lo para que quando "pressionado" for o código da chave 185 e quando "liberado" for o código da chave 186?

hlrim
fonte
Qual foi o dmesgcomando que você usou? I tentar descobrir algo mais aqui: askubuntu.com/questions/450066/...
rubo77

Respostas:

3

você deve usar setkeycodespara atribuir um código de chave.

http://www.jveweb.net/en/archives/2011/01/configure-unrecognized-keys-in-linux.html

o código de varredura das chaves não foi reconhecido, ou seja, nenhum código de chave foi associado ao código de varredura, o valor importante aqui aparece ao lado do comando setkeycodes. Então você tem que definir e00b

descubra um código-chave não utilizado com

xmodmap -pke | less

e depois atribua um código de chave com o comando

setkeycodes
rubo77
fonte