Primeiro, desculpe minha ignorância sobre X e XKB; Eu tenho tentado hackear uma solução na esperança de conseguir o que quero sem exigir uma compreensão detalhada dela.
Estou tentando criar um mapa de teclado XKB no Ubuntu 12.04 que me permite estipular qual das duas teclas Shift constitui o modificador Level2. Especificamente, a 4tecla deve produzir apenas a $quando o turno direito é pressionado, não o esquerdo.
Minha leitura até agora:
- http://www.charvolant.org/~doug/xkb/html/node5.html
- http://people.uleth.ca/~daniel.odonnell/Blog/custom-keyboard-in-linuxx11
- http://www.x.org/releases/X11R7.5/doc/input/XKB-Enhancing.html
- Muita pesquisa!
Tentei definir um tipo personalizado e depois referi-lo explicitamente em um mapa de símbolos:
/usr/share/X11/xkb/types/mbfisher:
default xkb_types "mbfisher" {
type "RIGHT_SHIFT" {
modifiers = None+Shift_R;
map[None] = Level1;
map[Shift_R] = Level2;
};
}
/usr/share/X11/xkb/symbols/mbfisher:
default
partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "mbfisher";
key <AE04> {
type= "RIGHT_SHIFT",
symbols[Group1]= [ 4, dollar ]
};
};
Depois, seleciono o mapa com a GUI do Ubuntu Keyboard Layout.
Obviamente, isso desativa o teclado alfanumérico além da 4tecla, mas o cifrão ainda pode ser digitado com qualquer tecla Shift.
Estou consciente de escrever uma pergunta massiva com muitas informações inúteis, então vou parar por aqui; por favor, peça qualquer coisa que eu tenha perdido.
Alguma ideia?