Use o teclado numérico USB com digitação do tipo telefônico?

3

Eu tenho um teclado numérico USB como este:

Euprecisoescreverchars(AaZ)nesteteclado,eminhaideiaéusá-locomonocelularantigo:

Se eu pressionar 1x2, escreva A, 2x 2 - B, 4x 9 - Z, etc.

É possível fazer isso? E como? Usando o udev?

    
por martin 30.07.2014 / 18:44

2 respostas

1

A solução usa o método de entrada multipress .

No aplicativo, é necessário definir o método de entrada multipress manualmente. Se você quiser ter multipress como padrão, você precisa criar o arquivo /.xinputrc com o conteúdo:

GTK_IM_MODULE=multipress
QT_IM_MODULE=multipress
    
por 07.08.2014 / 10:29
2

Eu não tenho uma resposta completa, mas aqui estão algumas coisas que podem ajudar.

Se o seu teclado estiver ligado a um computador com um desktop gui baseado no Gnome ou no KDE, a AutoKey pode ser usado para transformar as chaves em teclas de atalho que podem fazer quase qualquer coisa que você pode pensar. Como as teclas pressionadas no pad são provavelmente indistinguíveis das teclas correspondentes em seu teclado normal, qualquer coisa que você fizer também as afetará.

Execute xev de um terminal e pressione cada tecla no bloco para ver quais códigos de teclas são gerados. Eles são provavelmente os mesmos de um teclado normal, mas se não, você pode usar esses códigos para diferenciar os dois.

Se você estiver em um sistema embarcado (ou mesmo em um servidor) sem gui, o acima não funcionará.

Eu não sou muito versado em dispositivos Linux, mas esta postagem pode lhe dar uma pista de como processar a entrada do teclado diretamente em um script ou programa. Depois de obter as teclas pressionadas no script, você pode fazer o que quiser em resposta a elas.

Como este é um script / programa, você teria que descobrir uma maneira de obter sua saída para o destino desejado.

A primeira abordagem que vem à mente é usar um pipe. Isso funcionará se a saída for apenas para um programa.

Se a solução precisa ser um pouco mais geral, um pipe nomeado pode funcionar. Eu não tive que usá-los ainda, então eu sou um pouco esboçado em como você usaria o mesmo pipe nomeado serialmente conectado a diferentes programas.

    
por 04.08.2014 / 22:51