O problema é que quando você usa um modificador comum como AltGr , os programas realmente o vêem sendo pressionado quando você usa as setas AltGr. Então, Shift + AltGr + i na verdade aparece em um programa como se você estivesse pressionando Shift + Alt + Up
e é a adição do Alt
extra que confunde o programa. Você pode evitar isso adicionando mais atalhos ao programa, se possível, então Shift + Alt + Up
faz a mesma ação que Shift + Up
, ou você pode usar um modificador incomum do qual o programa não está ciente.
Existem outras maneiras de fazer isso, mas essa foi uma das maneiras mais simples e funciona bem para mim. Ele cria uma sobreposição "Grupo2" nas teclas alfanuméricas, de modo que, quando você alterna para o Grupo2, você terá setas lá em vez de letras. Você pode alternar para o Group2 com um toggle (ativado / desativado como o Caps Lock normalmente funciona) ou um momentâneo (pressione para ativar, como o Shift normalmente funciona)
partial alphanumeric_keys
xkb_symbols "alpha_arrows" {
key <AD07> {
symbols[Group2]= [ Home ] # u
};
key <AD08> {
symbols[Group2]= [ Up ] # i
};
key <AD09> {
symbols[Group2]= [ End ] # o
};
key <AD10> {
symbols[Group2]= [ Prior ] # p
};
key <AC07> {
symbols[Group2]= [ Left ] # j
};
key <AC08> {
symbols[Group2]= [ Down ] # k
};
key <AC09> {
symbols[Group2]= [ Right ] # l
};
key <AC10> {
symbols[Group2]= [ Next ] # ;
};
key <AB06> {
symbols[Group2]= [ Delete ] # n
};
};
Você pode escolher uma chave para usar como uma chave de ativação do Grupo2. Você pode ver todas as opções (se você não quiser fazer o seu próprio) com isto:
$ grep grp /usr/share/X11/xkb/rules/base.lst
Em seguida, escolha uma opção, por exemplo, esta ativa apenas as setas enquanto Caps Lock está sendo mantido. Ele também adiciona uma nova combinação Alt + Caps Lock para realmente ligar e desligar o caps lock:
$ setxkbmap -option grp:caps_switch
Você pode adicionar isso ao seu arquivo de configuração do Xorg para tornar a mudança permanente - há vários guias on-line sobre como fazer isso.
Observe que:
-
key
é usado, ao contrário dereplace key
porque queremos adicionar à definição existente e não substituí-la. - Se você realmente tiver um layout de teclado alternativo (possivelmente alguns teclados internacionais que também podem digitar letras latinas / inglesas), esse método pode não funcionar para você. Você terá que definir um novo tipo com base em
ALPHANUMERIC
com modificadores estendidos (por exemplo, Hyper) para ativar as teclas de seta.