define um layout de teclado / método de entrada para o ubuntu em python?

3

Eu estou um pouco desesperado aqui, e meio que desencantado com as possibilidades de definir layouts de teclado no Linux (Ubuntu 10.04 aqui). parece não haver nenhuma maneira fácil e gráfica para definir mapeamentos de teclado (exceto keyboardlayouteditor , mas, francamente, eu faço não entendi a descrição da instalação .. instale antlr? cairo? pango? gobject ?? gerar gramáticas ?? wtf ???).

Estou usando um teclado Apple Aluminum com layout alemão, mas não importa o que eu faça, as teclas (< >) e (^ °) são sempre trocadas (eu consegui mudar o comportamento padrão para o f1. ..f12 chaves de multimídia de volta para 'normal', centradas em aplicativos ... tudo que você tem a fazer é adicionar a linha echo 2 > /sys/module/hid_apple/parameters/fnmode to /etc/rc.local ... isso é tão óbvio que eu tenho vergonha que eu tive que procurar o web para isso!).

adicionando à minha aflição, eu acho os chineses IMEs um horror (não um dos muitos que eu tentei chegar perto do google pinyin para windows), e não consegui nem ibus nem gripe para trabalhar de uma forma satisfatória para mim .

eu acho o teclado linux lidando com um pântano. Eu sei que este deve ser um dos problemas mais difíceis em ciência da computação, uma vez que este assunto fica tão complicado, não importa se é no windows ou no navegador javascript. Como linguista, estou bem ciente das complicações inerentes ao manuseio do texto apropriado, mas olhando as descrições de como configurar o xkb faz com que a construção de espaçonaves interestelares pareçam um passeio.

então minha ideia é a seguinte:

  1. encontre um lugar no sistema onde as teclas digitadas são gravadas;
  2. leia esses códigos (podem ser códigos de varredura ou códigos de caracteres) usando um daemon (implementado em python; ouvi que você precisa ouvir o IOCTL ou algo assim);
  3. quando determinadas combinações de código aparecem, altere-as para fazer o que você deseja;
  4. aplicativos agora conseguem ver um X onde antigamente o usuário tem que ver um U e vice-versa;
  5. lucro!

as perguntas são:

  • Existe algum lugar, em sistemas Ubuntu / Linux que permita ler códigos de teclado?
  • Existe uma maneira de bloquear o processamento de tais ações do teclado até que um daemon de interceptação as processe?
  • Posso realmente mexer com esses códigos?
  • Esse interceptor funcionaria para uma ampla gama de casos de uso? como na linha de comando, em um aplicativo gtk, no wine, no firefox e assim por diante?
  • Uma alternativa seria na verdade grok keyboardlayouteditor, portanto, se alguém pudesse postar sobre uma instrução de instalação legível e completa ou apontar pacotes instaláveis, seria ótimo também. ou qualquer tipo de software utilizável.
por flow 20.06.2010 / 11:50

1 resposta

1

Você pode ler códigos de teclas com o xev e pode mapear códigos de teclas com o xmodmap.

Por exemplo, se você quiser mapear o código de tecla 191 para o F13, adicione o seguinte ao seu arquivo .Xmodmap:

keycode 191 = F13

execute o xmodmap ~ / .Xmodmap e agora este botão com o código de tecla 191 deve ser mapeado para o F13 ou o que você mapeou.

    
por 20.06.2010 / 13:12