(이미 질문한 적이 있어요.뿌리하지만 답변을 얻지 못해 지금 여기에서 노력하고 있습니다. )
커서 키와 AltGr+c, h, t, n 등과 같은 다른 키(qwerty가 있는 경우 i, j, k, l)가 필요합니다. 나는 사용자 정의 키보드 레이아웃 파일을 만들었습니다(참조:여기). 기본적으로 레이아웃 파일을 가져와 관련 줄을 다음과 같이 수정했습니다.
key <AC09> { [ n, N, Right, Right ] };
나는 이것을 가지고 있고 /usr/share/X11/xkb/symbols/nonpop
그것을 setxkbmap nonpop
로드합니다 ~/.xinitrc
(나는 DE를 사용하지 않고 단지 Awesome WM을 사용하고 있습니다).
그리고 거의 작동합니다.
- 예를 들어 Firefox에서는 모든 것이 잘 작동합니다. 예를 들어 AltGr+n은 커서를 오른쪽으로 이동하고 Shift+AltGr+n은 텍스트를 선택합니다. LyX의 기본 텍스트 영역에서도 마찬가지입니다.
- MonoDevelop에서 커서는 AltGr+n을 통해 이동하지만 Shift+AltGr+n은 선택이 아닌 커서만 이동합니다. Shift+Right는 일반적으로 텍스트를 선택합니다.
- NetBeans 및 LyX 대화 상자에서 (Shift+)AltGr+n을 누르면 아무 작업도 수행되지 않습니다.
나는 이러한 다른 프로그램이 AltGr 상태를 읽고 그것이 나쁜 것이라고 생각한다고 생각합니다. 그렇다면 내가 원하는 대로 일이 이루어지도록 할 수 있는 방법은 없을까? 것 같다피복층해결책이 될 수도 있지만 아직 작동하지 않았습니다.
답변1
문제는 AltGr과 같은 일반적인 수정자를 사용할 때 AltGrAltGr 화살표를 사용할 때 프로그램이 실제로 그것을 누른 것으로 처리한다는 것입니다. 따라서 Shift++는 AltGr실제로 i를 누르는 것처럼 프로그램을 바라보고 Shift + Alt + Up
, 추가 항목을 추가하면 Alt
프로그램이 혼란스러워집니다. 가능한 경우 Shift + Alt + Up
와 동일한 작업을 수행하는 더 많은 단축키를 프로그램에 추가하여 이를 방지할 수 있습니다. Shift + Up
또는 프로그램이 알지 못하는 일반적이지 않은 수정자를 사용할 수 있습니다.
다른 방법도 있지만 이 방법이 더 쉽고 저에게는 잘 맞았습니다. 영숫자 키에 "Group2" 오버레이가 생성되므로 Group2로 전환하면 문자 대신 화살표가 표시됩니다. 토글( Caps Lock정상 작동처럼 켜기/끄기) 또는 일시적(정상 작동처럼 눌러서 활성화 )을 통해 Shift그룹 2로 전환 할 수 있습니다 .
partial alphanumeric_keys
xkb_symbols "alpha_arrows" {
key <AD07> {
symbols[Group2]= [ Home ] # u
};
key <AD08> {
symbols[Group2]= [ Up ] # i
};
key <AD09> {
symbols[Group2]= [ End ] # o
};
key <AD10> {
symbols[Group2]= [ Prior ] # p
};
key <AC07> {
symbols[Group2]= [ Left ] # j
};
key <AC08> {
symbols[Group2]= [ Down ] # k
};
key <AC09> {
symbols[Group2]= [ Right ] # l
};
key <AC10> {
symbols[Group2]= [ Next ] # ;
};
key <AB06> {
symbols[Group2]= [ Delete ] # n
};
};
그런 다음 Group2 활성화 키로 사용할 키를 선택할 수 있습니다. 다음 명령을 사용하여 모든 옵션을 볼 수 있습니다(직접 수행하고 싶지 않은 경우).
$ grep grp /usr/share/X11/xkb/rules/base.lst
Caps Lock그런 다음 누르고 있는 동안에만 화살표를 활성화하는 옵션과 같은 옵션을 선택합니다 . 또한 실제로 Caps Lock을 켜고 끄는 새로운 콤보 Alt+ 도 추가됩니다.Caps Lock
$ setxkbmap -option grp:caps_switch
이를 Xorg 구성 파일에 추가하여 변경 사항을 영구적으로 적용할 수 있습니다. 이를 수행하는 방법에 대한 온라인 가이드가 많이 있습니다.
알아채다:
key
replace key
기존 정의를 대체하는 것이 아니라 추가하고 싶기 때문에 대신 사용됩니다 .- 실제로 대체 키보드 레이아웃(라틴어/영어 문자도 입력할 수 있는 일부 국제 키보드)이 있는 경우 이 방법이 적합하지 않을 수 있습니다.
ALPHANUMERIC
화살표 키를 활성화하려면 확장 수정자(예: Hyper)를 기반으로 새 유형을 정의해야 합니다 .
답변2
내 xkb 구성 스크립트에 관심이 있으실 것입니다. 간단히 말해서 Miniguru와 TEX Yoda의 시뮬레이션을 정의했습니다.