Obtendo teclas modificadoras (Alt, Ctrl) para trabalhar junto com ISO_Level3_Shift

2

Alterei bastante o layout do meu teclado usando dois níveis de teclas shift. Basicamente agora, eu tenho 3 camadas no meu teclado. Para fazer isso, usei o ISO_Level3_Shift e o ISO_Level5_Shift.

default partial alphanumeric_keys modifier_keys xkb_symbols "basic" {
  name[Group1]= "Thinkpad US (portuguese AltGr dead keys)";

  include "us(basic)"

  // Modkeys
  // -------
  // POP
  key <AC10>  { type[Group1]="EIGHT_LEVEL", [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3
_Shift, ISO_Level3_Shift, question, question, NoSymbol ] };
  modifier_map Mod3 { <AC10> };

  // SNAP
  key <CAPS>  { type[Group1]="EIGHT_LEVEL", [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5
_Shift, ISO_Level5_Shift, colon, colon, NoSymbol ]   };
  key <AC11>  { type[Group1]="EIGHT_LEVEL", [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5
_Shift, ISO_Level5_Shift, semicolon, semicolon, NoSymbol ]   };
  modifier_map Mod3 { <CAPS>, <AC11> };

  replace key <ESC> { [ Caps_Lock ] };


  key.type[Group1]="EIGHT_LEVEL_ALPHABETIC" ;

  // middle row
  // ----------
  // asdfghjkl
  // [SNAP]
  key <AC01> { [ a, A, NoSymbol, NoSymbol, asciitilde, asciitilde, NoSymbol ] };
  key <AC02> { [ s, S, Home, Home, equal, equal, NoSymbol ] };
  key <AC03> { [ d, D, Prior, Prior, apostrophe, apostrophe, NoSymbol ] };
 key <AC04> { [ f, F, Next, Next, quotedbl, quotedbl, NoSymbol ] };
  key <AC05> { [ g, G, End, End, minus, minus, NoSymbol ] };
  key <AC06> { [ h, H, Left, Left, plus, plus, NoSymbol ] };
  key <AC07> { [ j, J, Down , Down, comma, comma, NoSymbol] };
  key <AC08> { [ k, K, Up, Up, period, period, NoSymbol ] };
  key <AC09> { [ l, L, Right, Right, Escape, Escape, NoSymbol ] };
  // [POP]
  // [SNAP]

  // Space key
  // ---------
  key <SPCE> { [ space, space, grave, grave, Tab, Tab, NoSymbol ] };

};

Isso funciona como esperado, exceto ao usar as teclas modificadoras normais, como as teclas Alt ou Control ou Windows.

Por exemplo, Espaço é configurado para dar Tab quando pressionado junto com a tecla SNAP [;] (então SNAP + Space = Tab), mas se eu pressionar Alt + SNAP + Espaço não obtenho o comportamento esperado do Alt + Tab conforme esperado.

Como posso conseguir a funcionalidade adequada?

    
por jbssm 03.12.2017 / 14:07

0 respostas