수정자 키(Alt, Ctrl)가 ISO_Level3_Shift와 함께 작동하도록 허용

수정자 키(Alt, Ctrl)가 ISO_Level3_Shift와 함께 작동하도록 허용

2단계 Shift 키를 사용하여 키보드 레이아웃을 크게 변경했습니다. 이제 기본적으로 내 키보드에는 3개의 레이어가 있습니다. 이를 위해 ISO_Level3_Shift와 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 ] };

};

Alt, Control 또는 Windows 키와 같은 일반 수정자 키를 사용하지 않는 한 예상대로 작동합니다.

예를 들어, SNAP[;] 키와 함께 누르면 Space가 Tab(따라서 SNAP+Space = Tab) 키로 설정되지만 Alt+SNAP+Space를 누르면 Alt+Tab에서 예상되는 동작을 얻지 못합니다. , 아래 예상대로.

올바른 기능을 얻으려면 어떻게 해야 합니까?

관련 정보