![Posso alterar os códigos de teclas em um teclado?](https://rvso.com/image/1557234/Posso%20alterar%20os%20c%C3%B3digos%20de%20teclas%20em%20um%20teclado%3F.png)
Eu tenho um notebook Lenovo com um layout de teclado fora do padrão no qual há uma tecla de barra/pergunta (/?) ao lado do Shift direito, que por padrão br-abnt2 foi mapeado para apóstrofo/aspas ('"). Há também um apóstrofo padrão Chave /quote próxima a 1. Ontem mudei meu br-abnt.map e meus arquivos de layout xorg para corrigir a chave /?.
Hoje testei essas duas chaves xev
e elas têm o mesmo código, então não consigo consertar uma sem bagunçar a outra.
É possível alterar os códigos dessas chaves para que possam ser configuradas separadamente? Como posso consertar isso?
EDIT: aqui está a evtest
saída para pressionar primeiro '" e depois /?:
Properties: Testing ... (interrupt to exit) Event: time 1525650895.009067, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1c Event: time 1525650895.009067, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0 Event: time 1525650895.009067, -------------- SYN_REPORT ------------ Event: time 1525650897.410587, type 4 (EV_MSC), code 4 (MSC_SCAN), value 29 Event: time 1525650897.410587, type 1 (EV_KEY), code 41 (KEY_GRAVE), value 1 Event: time 1525650897.410587, -------------- SYN_REPORT ------------ 'Event: time 1525650897.466550, type 4 (EV_MSC), code 4 (MSC_SCAN), value 29 Event: time 1525650897.466550, type 1 (EV_KEY), code 41 (KEY_GRAVE), value 0 Event: time 1525650897.466550, -------------- SYN_REPORT ------------ Event: time 1525650908.301683, type 4 (EV_MSC), code 4 (MSC_SCAN), value 29 Event: time 1525650908.301683, type 1 (EV_KEY), code 41 (KEY_GRAVE), value 1 Event: time 1525650908.301683, -------------- SYN_REPORT ------------ 'Event: time 1525650908.411541, type 4 (EV_MSC), code 4 (MSC_SCAN), value 29 Event: time 1525650908.411541, type 1 (EV_KEY), code 41 (KEY_GRAVE), value 0 Event: time 1525650908.411541, -------------- SYN_REPORT ------------
(o primeiro SYN_REPORT é antes de eu digitar)
Responder1
Use evtest
para descobrir como o kernel os vê. Se eles tiverem scancodes diferentes, a camada de entrada do kernel pode mapeá-los para diferentes códigos-chave, por exemplo, usando oudev hwdb.