Bem, eu tenho uma ideia tola: você pode hackear isso com o xdotool e xbindkeys :
adicione o seguinte ao seu ~/.xbindkeysrc
"xdotool key at"
Shift+Alt+Mod2 + 2
Taadaa!
(Tudo bem, traga os votos negativos!)
Estou usando um MacBook com layout croata. O layout comum do PC Croatian (no Windows e no Linux) usa combinações com AltGr para obter vários símbolos, como ...
@
[
{
No OS X, isso é substituído por ..
@
[
{
- isto é, as posições de layout dos EUA + alt fornecem o símbolo necessário.
Quando estou trabalhando com o Linux, acho difícil voltar ao mapeamento de PC na Croácia. Por isso, tenho a tendência de usar o layout americano mais (e, em seguida, tenho o problema de não conseguir digitar símbolos locais como ČĆŽŠĐ, além do problema de NÃO ter que digitar Alt para @, [ {, etc.)
As definições de mapeamento do teclado, localizadas no Ubuntu em /usr/share/X11/xkb
, fornecem uma maneira fácil de remapear símbolos no keydown, deslocamento + keydown , altgr + keydown e altgr + deslocamento + keydown . Não consegui encontrar uma maneira de mapear as coisas para alt + keydown e alt + shift + keydown .
Como posso mapear glifos para alt + keydown e alt + shift + keydown em X11?
Você não pode configurá-lo, porque Alt não é um modificador de código de chave em servidores X padrão. Em X11 chaves podem ser definidas e alteradas com xmodmap
. O programa xev
pode ser usado para identificar o código da chave. Inicie xev
e pressione 2
. Em um teclado de PC alemão, parece assim:
KeyPress event, serial 33, synthetic NO, window 0x3000001, root 0x69, subw 0x0, time 3044226, (160,148), root:(164,198), state 0x0, keycode 11 (keysym 0x32, 2), same_screen YES, XLookupString gives 1 bytes: (32) "2" XmbLookupString gives 1 bytes: (32) "2" XFilterEvent returns: True KeyRelease event, serial 33, synthetic NO, window 0x3000001, root 0x69, subw 0x0, time 3044305, (160,148), root:(164,198), state 0x0, keycode 11 (keysym 0x32, 2), same_screen YES, XLookupString gives 1 bytes: (32) "2" XFilterEvent returns: False
Você pode ver que o código da chave é 11. Agora você pode exibir a definição do código-chave com xmodmap
:
$ xmodmap -pke|grep ' 11 =' keycode 11 = 2 quotedbl twosuperior oneeighth twosuperior oneeighth
Você pode ver quatro chaves diferentes que o código de chave 11 pode gerar. A página man do xmodmap explica qual chave é gerada por qual modificador:
keycode NUMBER = KEYSYMNAME ...
The list of keysyms is assigned to the indicated keycode (which
may be specified in decimal, hex or octal and can be determined
by running the xev program). Up to eight keysyms may be
attached to a key, however the last four are not used in any
major X server implementation. The first keysym is used when
no modifier key is pressed in conjunction with this key, the
second with Shift, the third when the Mode_switch key is used
with this key and the fourth when both the Mode_switch and
Shift keys are used.
Apenas Shift
e Mode_switch
são modificadores válidos para códigos-chave X11. Se você quiser que sua chave Alt
seja um modificador válido, você terá que corrigir seu servidor X. Teoricamente é possível, porque existem 8 modificadores possíveis. Mas o seu servidor X deve saber disso.
Tags xorg keyboard-layout xkb keyboard linux