태그 보관물: x11

x11

Caps Lock 키를 다시 활성화하는 방법은 무엇입니까? ctrl:nocaps,[…] Caps Lock 키를 비활성화하고 다른 옵션과

현재 다음과 같이 기본 키보드 레이아웃을 설정하고 있습니다.

setxkbmap -layout us -variant dvorak -option ctrl:nocaps,[...]

Caps Lock 키를 비활성화하고 다른 옵션과 함께 추가 Ctrl 키로 만듭니다.

키보드 레이아웃을 전환하려면 다음을 수행하고 싶습니다.

setxkbmap -layout us -variant dvorak-l -option ctrl:swapcaps

그러나 캡 잠금 키를 다시 활성화하지는 않습니다. 왼쪽 제어 키와 캡 잠금 장치는 모두 내가 볼 수있는 한 제어 키로 유지됩니다.

전체 옵션 목록을 지울 수 있다는 것을 알고 있지만 유지 관리를 위해 옵션을 복사하여 붙여 넣지 않습니다. 캡 잠금을 다시 활성화하려면 어떻게합니까?

업데이트 :
xev (1)을 사용한 키 누르기를 보면 ctrl : nocaps가 Control_L두 키를 모두 제공 하고 ctrl : swapcaps는 키 잠금 키를 “복원”합니다 (키를 누르면 Caps_Lock). 그러나 캡 잠금 LED가 켜지지 않거나 실제로 작동하지 않습니다.

xkeyboard-config/symbols/ctrlX.org 소스 에서 파일을 보면 문제가 있음을 암시합니다.

xkb_symbols "nocaps" {
    replace key <CAPS>  {  [ Control_L, Control_L ] };
    modifier_map  Control { <CAPS>, <LCTL> };
};
xkb_symbols "swapcaps" {
    replace key <CAPS>  {  [ Control_L ] };
    replace key <LCTL>  {  [ Caps_Lock ] };
};

후자의 옵션에는 modifier_map 줄이 없습니다.



답변

다음 명령이 작동해야합니다.

xmodmap -e 'keycode 0x42 = Caps_Lock'

또는

setxkbmap -option

위의 명령은 기본 동작을 복원하는 데 효과적입니다. 운 좋게도 필자는 거의 필요하지 않습니다.

일반적으로 다음 명령을 사용하여 Capslock을 Control에 다시 매핑합니다 (다행히 VI / VIM은 ESC 대신 CTRL-C를 지원함).

setxkbmap -option ctrl:nocaps -layout gb


답변

시험 setxkbmap -option -layout us -variant dvorak-l -option ctrl:swapcaps

맨 페이지에서 :

[...] If you want to
replace all previously specified options, use the -option  flag
with an empty argument first.

아이러니는 여기가 -option ctrl:swapcaps실제로 재정의 된다는 것 -option ctrl:nocaps입니다. 행동이 바뀐 것 같습니다.

편집 : OP가 언급했듯이 (위와 같은 방법으로) 옵션을 지우지 않으려 고 합니다.

/usr/share/X11/xkb/rules/xorg.lst옵션 ctrl:aa_ctrl(왼쪽 아래 컨트롤)을 보여줍니다 nocaps. 여기서 캡 잠금을 재설정하는 것 같습니다 .

시도해 볼만한 가치가 있다고 생각하며 목록 ( grep ctrl\:)을보고 작동하지 않을 수있는 다른 것이 있는지 확인할 수도 있습니다.

이것에 대한 옵션이 없다면 해결책은 Caps Lock을 Caps Lock 키와 다시 연결하여 현재 키 맵을 해킹하는 것입니다.하지만 경험이 없습니다. 하나의 라이너로).


답변

capslock을 가능하게하는 “caps : capslock”옵션 (xkb_symbols에 “+ capslock (capslock)”추가에 매핑)이 있습니다.

그러나 해당 옵션 (모든 캡 : xxxxx?)이 기존 ctrl : xxxxx 옵션 앞에 추가 됩니다. ctrl : swapcaps로 capslock 키를 재정의하면 해당 옵션이 적용되지 않습니다.

따라서 모든 옵션을 제거하고 실제로 원하는 옵션을 배치해야합니다. 옵션이 존재하는 방식은 이전 옵션의 작업을 취소하지 않아야하며 충돌하는 옵션 (예 : 동일한 키를 재정의하는 두 개 이상)이 있으면 순서를 정의 할 수 없습니다.


답변