다른 키를 생성하는 방법 으로 사용되도록 XKB를 구성하고 싶지만 Caps Lock수정자로 표시되는 것을 원하지 않습니다. 예를 들어:
- F1
F21
키 입력 생성 - Caps Lock+ 키 누르기 F1생성
F1
(즉, 수정자 없음) - Shift+ Caps Lock+ 키 입력 F1생성
Shift + F1
(Shift
수정자로만 계산됨)
Caps Lock에 할당하여 부분적으로 성공했지만 Hyper_R
문제는 Hyper_R
수정자로 설정된 경우에만 작동한다는 것입니다(예: ) Mod3
. 즉, ++ Shift리스너가 사용 하는 단축키는 표시되는 것을 좋아하지 않기 때문에 실제로 아무런 효과가 없습니다 .Caps LockF1Shift + Mod3 + F1
Shift + F1
Mod3
Caps LockX 응용 프로그램에서 실제로 수정자 키로 표시되지 않고 특정 키의 동작을 변경할 수 있는 방법이 있습니까 ?
내가 읽은 문서에는 고급 XKB 구성을 통해 이것이 가능하다고 나와 있지만 자세한 내용은 찾을 수 없습니다.
답변1
오래된 내용이라 죄송합니다. 너무 늦었다고 해도 다른 사람들에게 이 팁이 유용할 수도 있습니다.
당신의 것에서 types
다음을 추가하십시오 :
type "CapsShiftSpecial" {
modifiers= Shift+Hyper;
map[Shift]= Level2;
preserve[Shift]= Shift;
map[Hyper]= Level3;
map[Shift+Hyper]= Level4;
preserve[Shift+Hyper]= Shift;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Hyper";
level_name[Level4]= "Shift Hyper";
};
그런 다음 symbols
파일에는 다음과 같은 내용이 있습니다.
key <FK01> { type[group1]="CapsShiftSpecial",
symbols[group1]=[ F21, F21, F1, F1 ]};
키 입력(예: xev
또는 emacs
)을 모니터링하는 프로그램은 마치 키를 누른 것처럼 표시됩니다.F21,Shift+F21,F1, 그리고Shift+F1.