Numlock 키는 오늘날에는 거의 사용되지 않지만 (표준) 키보드 레이아웃에서 눈에 띄게 기능합니다.
나는 스프레드시트 작업을 많이 하기 때문에 키보드를 사용하여 데이터를 입력하는 것이 편리하지만 한 가지 주의할 점이 있습니다. 오른손이 키보드 위에 있을 때는 등호에 접근하기가 어렵습니다.
내 생각은 Numlock을 다시 매핑하여 Numlock과 동등의 역할을 모두 수행할 수 있도록 하고 전자는 수정자를 통해 액세스할 수 있도록 하는 것입니다.
xkb
같은 일을 시도했지만 xmodmap
비슷하게 나쁜 결과를 얻었 기 때문에 이를 위해 나만의 키맵을 만들기로 결정했습니다 .
(파일 이름 pb
)
default partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1] = "PB (US intl with level 3 and level 5";
key.type[Group1] = "EIGHT_LEVEL";
include "us(altgr-intl)"
// (norm) NLOCK AltGr
key.type[Group1] = "FOUR_LEVEL_MIXED_KEYPAD";
key <NMLK> { [ KP_Equal, KP_Equal, Num_Lock, Q ] };
include "level3(ralt_switch)"
include "level5(rctrl_switch)"
};
이제 보시다시피 나중에 사용자 정의 레이아웃을 확장하고 싶었을 때 레벨 3과 레벨 5를 추가했지만, 레벨 3과 레벨 5를 추가하지 않고 테스트했는데 Numlock을 방해하지 않았습니다.
Numlock 키를 누르면 결과 동작은 다음과 같습니다.
(번호 잠금 꺼짐)
- Numlock: '='
- Shift+ Numlock: '='
- AltGr+ Numlock: (번호 잠금 켜기)
- AltGr+ Shift+ Numlock: '묻다'(테스트를 위해 추가했습니다)
괜찮습니다. AltGr과 Shift를 누른 상태에서 "Q"를 인쇄하여 해당 교대 레벨에 도달할 수 있는지 확인하세요. 그러나 Num lock이 켜져 있으면 동작이 전혀 만족스럽지 않습니다.
(번호 잠금이 켜져 있음)
- Numlock: (번호 잠금을 끕니다)
- Shift+ Numlock: (번호 잠금 끄기)
- AltGr+ Numlock: (번호 잠금 끄기)
- AltGr+ Shift+ Numlock: (번호 잠금 끄기)
KP_Equal
아무리 노력해도 Num lock이 작동하도록 하는 것은 불가능해 보입니다 .
Numlock원래 는 등호를 인쇄하기 위해 누를 때 ShiftNum Lock을 켜거나 끄고 싶었습니다 . 이것이 불가능할 것 같아서 ISO 레벨 3( AltGr)을 선택했는데 그것도 안되는 것 같았습니다. 내가 원하는 것은 NumlockNum lock이 켜져 있는지 꺼져 있는지에 관계없이 등호를 인쇄하고 mod 키를 누르고 있을 때 Num Lock을 전환하는 것입니다(나에게는 어느 것이 중요하지 않습니다. 바람직하게는 또는 Shift) AltGr.
답변1
그래서. "xev"의 출력을 보면 참고하세요.상태,
- Num_Lock키에 키 기호를 그대로 두면 상태 10이 표시되고 KP_equal 해당 키 기호에 해당하는 키를 눌러도 잠기지 않습니다. 이 때문에 잠겨 있을 때 누르면 KP_Equal잠금이 해제됩니다.
- Num_Lock이제 적절한 레이어를 잠그는 동안 이 불쾌한 상태를 생성하지 않도록 이 키를 제거하려고 합니다 . 작업은 다음과 같이 수행됩니다.
replace key <NMLK> { type[Group1]= "FOUR_LEVEL_MIXED_KEYPAD", symbols[Group1]= [ KP_Equal, KP_Equal, Num_Lock, Q ], actions[Group1]= [ NoAction(), NoAction(), LockMods(modifiers=NumLock), NoAction() };
밑줄이 들어가지 않도록 주의하십시오. 그렇지 않으면 작동하지 않습니다.
- 이제 확인할 수 있습니다상태; 어떤 경우에도 문제가 없지만 Num_Lock지도에서 키 기호를 제거했기 때문에 이 상태는 더 이상 의미가 없습니다. 따라서 사용하지 않는 대체 키코드를 찾아 Num_Lock여기에 키 기호를 할당해야 합니다. 이 예에서는 키 코드 249를 사용하겠습니다.
replace key <I249> { symbols[Group1]= [ Num_Lock ] };
이제 잘 작동할 겁니다 :)