Tenho um teclado PS/2 bem antigo com 125 teclas , das quais algumas emitem apenas scancodes, que não estão vinculados a nenhum keycode. Agora, gostaria de começar setkeycodes
como um systemd
serviço para atribuir keycodes a essas teclas "problemáticas". Executar evtest
, no entanto, me mostra alguns keycodes estranhos, que não correspondem a nenhuma tecla (física) na minha placa, enquanto as teclas F16 a F22 (e um monte de outras teclas que estou omitindo aqui para maior clareza), não são mencionadas de forma alguma:
Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x1 product 0x1 version 0xab41
Input device name: "AT Translated Set 2 keyboard"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 1 (KEY_ESC)
// Standard PC keycode omitted
Event code 85 (KEY_ZENKAKUHANKAKU)
Event code 86 (KEY_102ND)
// F11 & F12 omitted
Event code 89 (KEY_RO)
Event code 90 (KEY_KATAKANA)
Event code 91 (KEY_HIRAGANA)
Event code 92 (KEY_HENKAN)
Event code 93 (KEY_KATAKANAHIRAGANA)
Event code 94 (KEY_MUHENKAN)
Event code 95 (KEY_KPJPCOMMA)
Event code 96 (KEY_KPENTER)
// Arrow keys omitted
Event code 122 (KEY_HANGUEL)
Event code 123 (KEY_HANJA)
Event code 124 (KEY_YEN)
// Meta & compose keys omitted
Event code 128 (KEY_STOP)
Event code 140 (KEY_CALC)
Event code 142 (KEY_SLEEP)
Event code 143 (KEY_WAKEUP)
Event code 155 (KEY_MAIL)
Event code 156 (KEY_BOOKMARKS)
Event code 157 (KEY_COMPUTER)
Event code 158 (KEY_BACK)
Event code 159 (KEY_FORWARD)
Event code 163 (KEY_NEXTSONG)
Event code 164 (KEY_PLAYPAUSE)
Event code 165 (KEY_PREVIOUSSONG)
Event code 166 (KEY_STOPCD)
Event code 172 (KEY_HOMEPAGE)
Event code 173 (KEY_REFRESH)
Event code 183 (KEY_F13)
Event code 184 (KEY_F14)
Event code 185 (KEY_F15)
// Where are F16 thru F22 (#186 thru #192)?
Event code 217 (KEY_SEARCH)
Event code 226 (KEY_MEDIA)
Como posso fazer as teclas F ausentes aparecerem nessa lista? E: Elas precisam estar listadas aqui para serem usadas em setkeycodes
? Meu S/O é OpenSuSE Leap 15.5 em AMD64.
OK, entendi. Eu simplesmente atribuí os códigos de tecla #186 a #192 às teclas F16 a F22 usando
setkeycodes
. Esta é a chamada completa do programa, que também contém as outras teclas especiais:Agora todas as teclas especiais emitem códigos de tecla válidos.