Como posso mapear um caractere para uma combinação de teclas?

20

Sou um pouco fã do interrobang (‽), mas obviamente é não no meu teclado. Como posso mapear esse personagem para uma combinação de teclas?

    
por mac9416 15.08.2010 / 15:56

5 respostas

13

Outra opção é fazer uso da tecla 'compor'. Usando o Ubuntu , escolha um no teclado → Layouts → configuração de opção (eu escolho Alt direita). Para o Kubuntu , vá para Configurações do Sistema → Dispositivos de Entrada → Teclado → Avançado, marque a opção "Configurar opções de teclado" e, em seguida, selecione a chave escolhida em "Compor a posição da tecla".

Para usar a tecla de composição, digite Compor + ? + ! .

Existem muitos caracteres úteis que você pode gerar dessa maneira: link

    
por Matt 15.08.2010 / 18:28
9

Outra opção de baixo nível para tentar, especialmente se você não conseguir que o xkb funcione, é usar o xmodmap diretamente.

A primeira coisa a fazer seria ter uma noção do layout atual do seu teclado. Abra um terminal e digite:

xmodmap -pke

Isso lhe dará uma lista de posições numeradas no seu teclado e para o que elas estão mapeadas. Por exemplo, você pode ver uma entrada como:

keycode 14 = 5 percent 5 percent

Isso significa que uma determinada tecla é mapeada para 5 quando pressionada normalmente, o sinal de porcentagem% quando pressionado com um deslocamento. (E os próximos dois valores são para quando o Mode_shift está ativo; mas não vamos entrar nisso agora.

Se eu quisesse alterar essa chave, poderia digitar:

xmodmap -e "keycode 14 = 5 U203D 5 UD203D"

Agora, em vez de obter um sinal de porcentagem% quando digito shift-5, recebo‽.

Isso é apenas um exemplo; provavelmente você não quer remapear% para‽. Mas talvez haja alguma outra chave que você não usa muito. Por exemplo, uma boa opção pode ser remapear o Menu de turno. Então, vejo em xmodmap -pke que tenho:

xmodmap -e "keycode 135 = Menu Menu Menu Menu"

Eu posso fazer isso em vez disso:

xmodmap -e "keycode 135 = Menu U203D Menu U203D"

Se eu quiser torná-lo permanente, basta colocá-lo dentro de algum script de inicialização que seja executado automaticamente, como .profile, .bashrc ou .xinitrc, ou crie o seu próprio que o Lubuntu carrega automaticamente.

No entanto, é muito importante executar xmodmap -pke primeiro para ver como é sua configuração inicial. Seus números de códigos podem ser bem diferentes dos meus. E também é a melhor maneira de ver o que mais está disponível.

De qualquer forma, essa é uma opção de muito baixo nível. Se você quiser uma opção de alto nível, veja algo como autokey ou xdotool em vez disso.

    
por frabjous 11.09.2010 / 15:46
7

No GNOME você pode inserir caracteres unicode pelo tipo Ctrl + Deslocar + u + ponto unicode , seguido Espaço ou Enter .

Então, digite um interrobang, você deve digitar Ctrl + Deslocar + u + 2032d + < kbd> Espaço .

Como isso é legal? Na verdade, acho que é um pouco desajeitado, mas faz o trabalho.

    
por Matt 15.08.2010 / 17:43
6

Aqui está algo que funciona bem:

  1. Instale o xdotool (peçabrilhantedesoftware,apropósito)
  2. váparaSistema→Preferências→Atalhosdeteclado
  3. Adicioneumnovoatalho,comoocomandoescolhaxdotoolkeyctrl+shift+utype"203d "

Isto é baseado na resposta de Matt, mas irá digitar as teclas para você toda vez que você apertar o atalho de teclado (embora um pouco devagar, cerca de 150ms).

Para adicionar qualquer outro caractere, vá até o mapa de personagens do gnome e procure por ele; Na barra de status, você deve ver o índice hexadecimal do glifo - por exemplo, "U + 203d".

Agora tenho o interrobang mapeado para Ctrl+? , see‽: -)

    
por Stefano Palazzo 26.11.2010 / 22:20
0

Você terá que definir um layout de teclado personalizado xkb . Eu encontrei este guia , mas eu não tentei eu mesmo.

    
por LassePoulsen 15.08.2010 / 16:20