vim에서와 같이 Caps Lock을 AltGr 및 화살표로 구성


9

1. 어떻게 세계지도 않습니다 Caps LockAltGr?

CapsLock이 필요 없으며 AltGr 키를 쉽게 액세스하고 싶습니다.

2. 모든 이동 키를 vim같은 위치 에 매핑하고 싶습니다

  • AltGr+ F=Backspace
  • AltGr+ H=LeftArr
  • AltGr+ J=DownArr
  • AltGr+ L=RightArr
  • AltGr+ K=UpArr
  • AltGr+ U=PgUp
  • AltGr+ D=PgDown
  • AltGr+ S=Enter
  • AltGr+ 3=Pos1
  • AltGr+ $=End
  • AltGr+ X=Del

따라서 10- 핑거-포지션에서 손을 떼지 않고도 코드를 쉽게 살펴볼 수 있습니다 ( vim편집기 에서와 같이 ).

이 답변을 찾았 습니다. Caps Lock 키를 백 스페이스 키에 다시 매핑하는 방법은 무엇입니까?
사용 제안

xmodmap -e "keycode [code] = [new key]"

참조 : http://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap

그러나 나는 이것을 AltGr + J의 조합에 추가하는 방법을 알아낼 수 없다

또 다른 시작은 unity-control-center-> 키보드-> 바로 가기-> 타이핑 에서 "대체 문자 키"를 설정하는 것입니다.Caps Lock

업데이트 : 일부 솔루션을 찾았지만 (아래 참조) 모든 응용 프로그램에서 모든 기능이 작동하지는 않습니다. 일부 앱에서 사용하는 "XFree 4"라는 전역 설정이라고 생각합니다.

XFree 4에 대한 키 바인딩도 어떻게 설정합니까?


AltGr 키가 없지만 이 비슷한 질문에 힌트가 있습니다.
Geek

답변:


4

1. 새로운 XKB 부분 파일 추가

sudo vi /usr/share/X11/xkb/symbols/altgr_vim

이 내용으로 :

partial keypad_keys
xkb_symbols "altgr-vim" {
  # replace Caps with AltGr
  key <CAPS> { [ ISO_Level3_Shift            ] };
  # Add vim cursor keys to be accessed with AltGr
  key <AB02> { [ x, X, Delete, Delete        ] };
  key <AC02> { [ s, S, KP_Enter, KP_Enter    ] };
  key <AC03> { [ d, D, Next, Next            ] };
  key <AC04> { [ f, F, BackSpace, BackSpace  ] };
  key <AC06> { [ h, H , Left, Left           ] };
  key <AC07> { [ j, J, Down, Down            ] };
  key <AC08> { [ k, K, Up, Up                ] };
  key <AC09> { [ l, L, Right, Right          ] };
  key <AD07> { [ u, U, Prior, Prior          ] };
  key <AE03> { [ 3, section, Home, Home      ] };
  key <AE04> { [ 4, dollar, End, End         ] };
};

2. 언어 파일에 부분을 포함

예를 들어 독일어의 경우 /usr/share/X11/xkb/symbols/de( /de언어가 어디에 있는지 ) 첫 번째 블록 ( xkb_symbols "basic") 안에 이것을 추가하십시오 .

include "altgr_vim(altgr-vim)"

노트 : 이 부분은 모든 배포 업데이트 후에 반복되어야합니다

3. 창 세션을 다시로드

ALT + F2를 누르고 "r"을 입력하여 그놈 세션을 다시로드하거나 로그 아웃 한 후 다시 로그인하십시오. 이제 새로운 주요 구성을 사용할 수 있습니다

몇몇 문제들

일부 애플리케이션은 설정을 수락하지 않습니다 (예 : sublime로 대체 할 수 있음) atom.

yakuake키 바인딩이 "XFree 4"로 설정된 경우 와 같이 일부 응용 프로그램에는 추가 설정이 필요 합니다. "Linux"또는 "Solaris"로 설정하면 XKB 설정도 작동합니다.


1
표시되는대로 정의를 lv3:caps_switch변경하는 대신 XKB 옵션을 사용하는 것이 좋습니다 <CAPS>. /usr/share/X11/xkb/symbols/level3(해당 옵션이 정의 된 곳)을 참조하십시오 .
quixotic

@quixotic : 필요한 구성으로 새로운 답변을 추가 할 수 있습니까? 현상금에 대한 여기에 좋은 완전한 대답이 필요합니다;)
rubo77

이것은 나를 위해 완벽하게 작동했습니다. 그냥 머리 위로, shift + 3에 대해 "섹션"을 "
numbersign

0

순서로 얻을 AltGr+ h, j, k, l등의 모든 응용 프로그램없이 다른 키 또는 자동 키가 peform받는에 당신이 당신의 키보드 레이아웃에있는 사용자 정의 할 수 는 / usr / share / X11 / XKB / 기호 / . 현재 독일어 레이아웃 "de"를 사용하고 있습니다. 그래서 우선

1- 표준 레이아웃 복사

cp /usr/share/X11/xkb/symbols/de /usr/share/X11/xkb/symbols/de.bak

2- 선호하는 텍스트 편집기로 레이아웃을여십시오 (여기 : gedit).

sudo gedit /usr/share/X11/xkb/symbols/de 

거기에 다음과 같은 것이 보일 것입니다.

key <AD03>  { [         e,          E,     EuroSign,     EuroSign ] };
key <AD06>  { [         z,          Z,    leftarrow,          yen ] };
key <AD11>  { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
....
....
key <AD12>  { [      plus,   asterisk,   dead_tilde,  macron ]  };
key <AC02>  { [               s,               S,          ssharp,          U017F ] }; 
key <AC06>  { [               h,               H,            Left,             Left ]   }; 
key <AC07>  { [               j,               J,            Down,             Down ]   }; 
key <AC08>  { [               k,               K,              Up,               Up ]   }; 
key <AC09>  { [               l,               L,           Right,            Right ]   }; 
....
....
key <AB10>  { [     minus, underscore,               endash,     emdash ] };
key <LSGT>  { [     less,     greater,                  bar,     NoSymbol   ] };

보시다시피 AB, AC, AD, AE는 행을 나타내고 숫자는 키보드에서의 위치를 ​​나타냅니다 (낮은 키 / 큰 키와 같은 일부 특수 키는 다른 키로 다시 매핑 될 수 있음).

모든 키보드를 찾을 수는 없으며 키보드가 기반으로하는 레이아웃과 다른 키보드 만 찾을 수 있습니다. 독일어는 파일 시작에서 볼 수 있듯이 "latin (type4)"을 기반으로합니다.

include "latin(type4)"

그런 다음 필요에 따라 변경하면됩니다. 다음과 같이 작동합니다.

키 {[ key, key+ shift, key+ AltGr, key+ Shift+AltGr ]};

(또한 5 레벨 수정 자 추가 가능)

다시 시작하지 않고 변경 사항을 확인하려면 (레이아웃의 "de"변경 ... 가능한 레이아웃 이있는 목록다음과 같습니다 )

 setxkbmap -layout de

화살표는 "왼쪽, 오른쪽, 아래, 위"와 같이 레이블이 붙습니다. 다음은 가능한 값 목록 입니다.

다음 은 내 사용자 정의 레이아웃의 예입니다. (그러나 현재 사용 중이 아님)

그런 다음 Capslock과 AltGr을 다시 매핑해야하거나 게시 한 질문에 따라 이미 작동 했습니까?

"일반"독일어 레이아웃을 유지하려는 경우, 일반적으로 사용하지 않는 다른 레이아웃을 변경하거나 동일한 "de"파일에서 "ger dead no keys"를 변경할 수 있습니다. ..)

출처 : xbk 및 사용자 정의 레이아웃에 대한 매우 포괄적 인 설명으로 연결하십시오 . 좋은 답변으로 비슷한 질문에
연결하십시오 .


1
현대 우분투 및 파생 상품에서 /etc/default/keyboard이러한 변경이 이루어지면 XKB 레이아웃 및 옵션을 설정할 수 있습니다 . 자세한 내용 man 5 keyboard은 참조하십시오. 기존 변형 및 옵션을 변경하지 않고 새로운 변형 및 옵션을 추가하는 것이 좋습니다.
quixotic

0

CapsLock을 AltGr에 다시 매핑하려면

xmodmap -e "keycode 66 = ISO_Level3_Shift"

(출처 : https://superuser.com/a/138757/160420 )

화살표 키를 AltGr + h, j, k 및 l에 매핑하려면 xmodmap -pke올바른 설정을 찾는 데 사용 하십시오.

xmodmap -pke|egrep "f F|j J|k K|h H|l L|o O|u U|d D|dollar|BackSpace"

다섯 번째 값을 새 키로 변경하고 이것을 bash 스크립트에 추가하십시오.

# xrandr needs the desktop to be fully loaded. add a delay, to be able to add it to Startup Applications:
sleep 15
# change BackSpace into AltGr
xmodmap -e "keycode 66 = ISO_Level3_Shift"
# set BackSpace on AltGr + F
xmodmap -e "keycode 41 = f F f F BackSpace BackSpace dstroke ordfeminine f F dstroke ordfeminine"
# create arrow keys at h,j,k,l
xmodmap -e "keycode  43 = h H h H Left Left"
xmodmap -e "keycode  44 = j J j J Down Down"
xmodmap -e "keycode  45 = k K k K Up Up"
xmodmap -e "keycode  46 = l L l L Right Right"
xmodmap -e "keycode  30 = u U u U Prior Prior"
xmodmap -e "keycode  40 = d D d D Next Next"
xmodmap -e "keycode  12 = 3 section 3 numbersign Home Home"
xmodmap -e "keycode  13 = 4 dollar 4 dollar End End"
xmodmap -e "keycode  53 = x X x X Delete Delete"

(출처 : https://askubuntu.com/a/466315/34298 )

해당 bash 스크립트를 시작 응용 프로그램 ( 대시> 시작 응용 프로그램> 추가 선택) 에 두십시오. 하고 명령을 추가하십시오)

참고 : 이상하게도 gnome-terminal잘 작동하지만 yakuakeAltGr + F의 BackSpace에서는 작동하지만 키 바인딩을 "Linux"로 설정하지 않으면 AltGr + h, j, k 및 l을 D, B, A 및 C로 설정합니다. "(기본값) XFree 4"이며 sublime-text전혀 작동하지 않습니다


xmodmap더 이상 사용되지 않으며 권장되지 않습니다. 여전히 X11 환경에서는 작동하지만 Wayland 및 기타 X11 대체에서는 작동하지 않습니다. 대신 XKB 기반 솔루션을 사용하는 것이 좋습니다.
quixotic

그렇다면 새로운 사용자 정의 키보드 레이아웃을 추가해야합니까? askubuntu.com/questions/482678/…
rubo77

1
사용자 정의 레이아웃을 추가하는 것은 한 가지 방법이지만 사용자 정의 옵션을 만드는 것만으로도 벗어날 수 있습니다 . 그놈 또는 유니티 에서는 xmodmap 사용자 정의가 작동 하도록 설정 데몬의 키보드 플러그인비활성화 해야 할 수도 있지만 시스템 전체의 새로운 XKB 레이아웃 / 변형 / 옵션을 만들면에서 설정할 수 있습니다 /etc/default/keyboard.
quixotic

1
이것은 많은 작업으로 보이지만 새로운 키 조합이 일부 앱에서 작동하지 않는 문제를 해결할 것입니까?
rubo77
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.