configuração Xmodmap

5

Na minha máquina Linux Debian Ctrl + Alt + F1 está ligado a um terminal virtual. Eu posso ver a entrada correspondente executando xmodmap -pke

keycode 67 = F1 XF86_Switch_VT_1 F1 XF86_Switch_VT_1

Por este tópico , que devo adicionar é consistente com o que eu vimos em outro lugar, as colunas do lado direito de = correspondem à tecla , Tecla Shift + , , AltGr + key e Shift + AltGr + tecla .

Dado que, eu não entendo como o mapeamento de código para F1 (acima) funciona para Ctrl + Alt + F1 . Parece que deve realmente ser + F1 ou Shift + AltGr + F1

Aqui está a saída de xmodmap -pm na minha máquina:

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x25)
control     Control_L (0x42),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

Alguém pode explicar isso?

    
por Krishna S 26.03.2012 / 02:14

1 resposta

2

É um pouco mais complicado, as teclas Fn têm tipicamente 5 níveis em vez do seu normal 4. O 5º nível pode ser alcançado através de ctrl + alt . Isso permite que você especifique o atalho de teclado apropriado em seu arquivo ~/.Xmodmap . Abaixo estão alguns trechos dos arquivos xkb. Para obter mais informações sobre eles, consulte o link

type "CTRL+ALT" {
    modifiers = Control+Alt+Shift+LevelThree;
    map[None] = Level1;
    map[Shift] = Level2;
    map[LevelThree] = Level3;
    map[Shift+LevelThree] = Level4;
    map[Control+Alt] = Level5;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Alt Base";
    level_name[Level4] = "Shift Alt";
    level_name[Level5] = "Ctrl+Alt";
};
xkb_symbols "fkey2vt" {
  key <FK01> {
    type="CTRL+ALT",
    symbols[Group1]= [ F1, F1, F1, F1, XF86_Switch_VT_1 ]
  };
  ...
};
    
por 07.06.2012 / 11:46