나는 노력한다아날로그 숫자 키보드 키기본 키보드에 있지만 xkb로 어려움을 겪고 있습니다.
<LWIN> + <AD07>을 "왼쪽"으로 변환하는 방법은 무엇입니까? (일명 슈퍼 + u)
Shift, Ctrl(Alt도 바람직함)과 잘 작동해야 합니다.
내가 얻은 가장 가까운 것은 다음과 같습니다.
type "wkafk1" {
modifiers = Shift+Super;
map[Shift]= Level2;
map[Super] = Level3;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Fn";
};
...
key <AD07> {
type= "wkafk1",
symbols[Group1]= [ u, U, Left ]
};
그러나 Shift+Super+u는 처리되지 않습니다.
이것도 매우 가깝습니다.
type "wkafk1" {
modifiers = Shift+Super;
map[Shift]= Level2;
map[Super] = Level3;
map[Shift+Super]=Level4;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Fn";
level_name[Level4] = "Fn Shift";
};
...
key <AD07> {
type= "wkafk1",
symbols[Group1]= [ u, U, Left, Shift+Left ]
};
하지만 수정된 기호를 내보내는 방법을 모르기 때문에 컴파일되지 않습니다(Shift+Left는 허용되지 않음).
action= RedirectKey(...)를 사용하여 "설명" 문이 필요합니까?
답변1
고마워요현재 기술,다음과 같이 진행하십시오:
- 현재 구성의 복사본을 만듭니다.
xkbcomp $DISPLAY custom.xkb
- 편집자에 의해 생성되었습니다
custom.xkb
. - 섹션의 끝 부분을 찾아
xkb_types
다음을 추가합니다.
type "wkafk1" {
modifiers = Shift+Super;
map[Shift] = level2;
map[Super] = level3;
map[Super+Shift] = level3;
level_name[Level1] = "Base";
level_name[Level2] = "Caps";
level_name[Level3] = "Arrows";
};
<AD07>
섹션의 키 정의를xkb_symbols
다음으로 바꿉니다.
key <AD07> {
type= "wkafk1",
symbols[Group1]= [ u, U, NoSymbol],
actions[Group1]=[ NoAction(), NoAction(), RedirectKey(key=<LEFT>,clearmods=Super)]
};
- 사용자 정의 구성을 컴파일하고 사용하십시오.
xkbcomp custom.xkb $DISPLAY
이 점에 유의하시기 바랍니다Shift 및 Ctrl 키와 함께 사용콤비네이션.