Como alterar o layout do teclado com um controlador de jogo

3

Eu vou copiar isso em grande parte de uma publicação minha no reddit , porque sou inibida por um pulso quebrado na minha mão dominante:

Devido a esse pulso quebrado, eu fui reduzido a um hunt'n'peck de uma mão. E a solução para isso é o que estou tentando resolver. O que eu quero fazer é configurar um evento do sistema que - enquanto estiver acontecendo - mude o teclado para um layout invertido horizontalmente.

Idealmente, gostaria de colocar um controlador de jogo no chão e poder virar meu teclado pressionando um botão com o dedo do pé.

Algumas especificações:

Usando um PC e executando o Linux Mint 17, com uma área de trabalho do KDE 4.13.2.

Bônus: No trabalho, uso um MacBook Pro com um MacOS atualizado e gostaria de fazer o mesmo.

Note também que eu estou usando um mapa de teclado Dvorak, e posso digitar isso, mas não em um QWERTY, então eu vou ter que ficar com Dvorak para que isso funcione.

Então, no KDE, eu vejo isso nas configurações do sistema - > Hardware - > Dispositivos de entrada - > Teclado, eu tenho uma opção "Mudando para outro layout". Infelizmente, todas as opções envolvem eventos de teclado.

Além disso, em Configurações do sistema, posso acessar "Aparência e comportamento comuns" - > "Atalhos e gestos" - > "Atalhos personalizados" e capture eventos para executar qualquer coisa que eu queira. Infelizmente, também captura apenas eventos de teclado. Nesse ponto, estou bastante preso.

Eu não tenho ideia do que fazer pelo MacOS, mas também não tentei; tentando fazer a minha máquina ir primeiro.

Também encontrei uma solução parcial de ninguém menos que Randall Munroe, da fama do XKCD. Vou ter que editar isso para combinar com o layout de Dvorak, mas não é grande coisa. O problema é que ainda depende de um evento de teclado. Alguma sugestão sobre como acionar o sinal da chave ao clicar em um botão do controlador?

---- edit ----

De acordo com a sugestão do dirkt, aqui está a saída do evtest no evento inativo:

Event: time 1496762047.394575, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1496762047.394575, type 1 (EV_KEY), code 289 (BTN_THUMB), value 1

E, claro, o evento up é o mesmo, mas com um valor "BTN_THUMB" de zero.

    
por Jacob Ewing 05.06.2017 / 20:33

0 respostas