Eu posso pensar em algumas maneiras de fazer isso com XKB, mas não é para os fracos de coração.
-
Faça uma opção de símbolo personalizado que adicione seus números a "level3" ou "level5" das chaves escolhidas. ( AltGr é a chave
ISO_Level3_Shift
, usada em layouts não-US ou US-intl Normalmente, essas teclas agem como Shift - você deve mantê-las pressionadas enquanto digita os números. Mas sua nova opção pode fazê-los agir como CapsLock , se preferir. Essa opção, então, substituiria as ligações padrão do seu layout para essas letras para adicionar os números.// emulate numpad on first 3 columns of alphabetic keys // initial key definitions from /usr/share/X11/xkb/symbols/us // ("intl" stanza) partial xkb_symbols "qweasdzxc" { // numbers on level3 (RightAlt chooses lv3) include "level3(ralt_switch)" key <AD01> { [ q, Q, 7, division ] }; key <AD02> { [ w, W, 8, multiply ] }; key <AD03> { [ e, E, 9, minus ] }; // etc ... // OR ... // numbers on level5 (RightCtrl chooses lv5) include "level5(rctrl_switch)" key <AD01> { [ q, Q, adiaeresis, Adiaeresis, 7, division ] }; key <AD02> { [ w, W, aring, Aring, 8, multiply ] }; key <AD03> { [ e, E, eacute, Eacute, 9, minus ] }; // etc ... }; // end "qweasdzxc" // rules to load this as an option ! option = symbols lv3:qweasdzxc = +filename(qweasdzxc) // load from commandline. may need -I/path/to/custom/xkb setxkbmap -layout us -option lv3:qweasdzxc
-
Crie um layout vazio que emite apenas os números dessas chaves e nenhum outro símbolo alfanumérico. Quando carregado como segundo layout, você teria uma chave de mudança de layout predefinida e usaria isso para alternar entre o layout principal e este. Novamente, a chave de troca de layout pode ser configurada como um Shift (somente layouts de comutação enquanto mantido) ou um CapsLock .
// emulate numpad on first 3 columns of alphabetic keys // leave other alphanumeric keys undefined // otherwise from /usr/share/X11/xkb/symbols/us (basic stanza) default partial alphanumeric_keys modifier_keys xkb_symbols "qweasdzxc" { name[Group1]= "Numpad Emulation"; key <AD01> { [ 7, division ] }; // q key <AD02> { [ 8, multiply ] }; // w key <AD03> { [ 9, minus ] }; // e key <AC01> { [ 4, F ] }; // a key <AC02> { [ 5, E ] }; // s key <AC03> { [ 6, D ] }; // d key <AB01> { [ 1, C ] }; // z key <AB02> { [ 2, B ] }; // x key <AB03> { [ 3, A ] }; // c // hexadecimal just for fun, replace if desired }; // end "qweasdzxc" // rules to load this as a layout ! layout = symbols qweasdzxc = qweasdzxc // load from commandline. may need -I/path/to/custom/xkb setxkbmap -layout us,qweasdzxc -option grp:caps_toggle
Qualquer uma dessas opções pode ser implementada alterando os arquivos XKB do sistema em /usr/share/X11/xkb/{symbols,rules}
ou armazenando suas customizações em arquivos de configuração XKB locais . Mudanças nos arquivos do sistema podem ser eliminadas por uma atualização no pacote xkeyboard-config
, mas são mais fáceis de usar com as ferramentas de configuração de layout do sistema como /etc/default/keyboard
ou o daemon de configurações do GNOME.