xmodmap shift + keycode para produzir keysym

4

Parece haver alguns exemplos de como usar o xmodmap para ligar um modificador + alguma chave a uma nova chave.

Por exemplo Eu quero ligar a esquerda Shift (código 50) + ' (código chave 21) para emitir um caractere de acento grave:

'

Este é o comportamento normal de um teclado norueguês, mas não de um Macbook Pro (executando o Linux).

Estou usando o xev para obter os códigos de tecla, posso mapear com sucesso teclas únicas (com a ajuda de outro post que não consigo encontrar) para obter outras chaves essenciais, por exemplo backspace e cifrão dessa maneira:

keycode 134 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key
keycode 21 = backslash bar

No entanto, como faço:

keycode 50 + keycode 21 = Grave character

Esta não é a sintaxe correta, mas deve deixar claro o que eu quero.

Em geral, como uma tecla modificadora como shift é usada corretamente na sintaxe? Apenas teclas modificadoras podem ser usadas em combinações?

Eu tentei coisas simples, como "keycode 50 keycode 21 = A" e "keycode 50 + keycode 21 = A". ("A" não é o caractere que eu quero, só estou usando para fins de teste).

    
por AttributedTensorField 14.02.2015 / 21:49

1 resposta

5

Os acordes de tecla (como Shift + \ ) são especificados combinando uma tecla com um conjunto de modificadores, não combinando as chaves diretamente. Então, ao invés de “código de teclas 50 mais código de tecla 21”, o que você precisa especificar é “código de tecla 21 mais o modificador Shift”. Apenas modificadores podem ser usados em combinações. Além disso, o xmodmap é um pouco limitado: você precisa especificar todos os acordes da tecla para uma chave básica ao mesmo tempo.

keycode 21 = backslash grave acute

O primeiro keysym (nome da chave de caractere ou função) após o sinal de igual é aquele correspondente à chave simples, então vem aquele que corresponde à chave com Shift e, em seguida, com AltGr , então com Shift + AltGr .

Se você quiser chaves mortas, mude isso para

keycode 21 = backslash dead_grave dead_acute

Se você quiser um layout norueguês padrão, no entanto, você deve ser capaz de selecioná-lo na interface de configuração do ambiente de área de trabalho, ou com XKB - setxkbmap -layout no muda para um layout norueguês.

    
por 15.02.2015 / 00:34