저는 독일어 그룹과 키릴어 그룹으로 구분된 사용자 정의 키보드 레이아웃을 사용합니다. CAPS
두 가지 방법으로 뱅크 래치로 사용됩니다. " CAPS
다음 키" 또는 " CAPS
+키"는 현재 키가 아닌 그룹에 있는 키의 키 기호를 제공합니다.
"<"=94, "x"=53, "s"=39 및 "w"=25의 4개 키를 제외하고 모든 것이 잘 작동합니다. CAPS
+ OneOfTheseKeys를 누르면 SHIFT
키보드 기호가 생성되지 않습니다. +Key CAPS
가 SHIFT
모든 키에서 예상대로 작동합니다.
이것이 하드웨어와 관련된 것인지(내 키보드의 인접한 키들임) 아니면 내가 볼 수 없는 복잡성이 있는지 궁금합니다.
xkb_keymap
다음은 "s" 기호(Shift로 잠금이 작동하지 않음) 및 "d"=40(잠금이 작동함)을 포함하는 관련 부분입니다.
xkb_keymap {
//...
xkb_types "complete(slava)" {
type "FOUR_LEVEL" {
modifiers= Shift+LevelThree;
map[Shift]= Level2;
map[LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Level3";
level_name[Level4]= "Shift Level3";
};
// two levels: 1=base and 2=AnyOf(Control,Alt,LevelThree,Mod4).
// I use it for caps without mod to latch group,
// with any mod to switch groups
type "CUSTOM_FOR_CAPS" {
modifiers= Control+Alt+LevelThree+Mod4;
map[Control]= Level2;
map[Alt]= Level2;
map[LevelThree]= Level2;
map[Mod4]= Level2;
level_name[Level1]= "Base";
level_name[Level2]= "Control Alt LevelThree Mod4";
};
//...
};
xkb_compatibility "capslock(grouplatch)" {
//...
interpret Caps_Lock+AnyOfOrNone(all) {
action= LatchGroup(group=+1);
};
indicator "Caps Lock" {
!allowExplicit;
groups= Group2;
};
//...
}
xkb_symbols "pc+de(de-slava)+de(ru-slava):2+capslock(grouplatch)" {
name[group1]="German (slava)";
name[group2]="Russian (Germany, phonetic-slava)";
key <CAPS> {
type= "CUSTOM_FOR_CAPS",
symbols[Group1]= [ Caps_Lock, ISO_Next_Group ],
symbols[Group2]= [ Caps_Lock, ISO_Prev_Group ]
};
key <AC02> {
type[group1]= "FOUR_LEVEL",
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ s, S, dollar, dollar ],
symbols[Group2]= [ Cyrillic_es, Cyrillic_ES, dollar, dollar ]
};
key <AC03> {
type[group1]= "FOUR_LEVEL",
type[group2]= "FOUR_LEVEL",
symbols[Group1]= [ d, D, eth, ETH ],
symbols[Group2]= [ Cyrillic_de, Cyrillic_DE, eth, ETH ]
};
//...
};
};