프로그래밍 방식으로 caps lock 및 esc 키를 바꾸는 방법은 무엇입니까?


18

나는 Vim을 많이 사용하고 깨끗한 우분투 설치를 시작할 때 가장 먼저해야 할 일 중 하나는 키보드의 손 움직임을 줄이기 위해 캡 잠금 장치와 Esc 키를 바꾸는 것입니다.

지금까지 키보드 구성 대화 상자를 통해이 작업을 수행했지만 이제는 Ubuntu를 내가 좋아하는 방식으로 설정하는 스크립트 세트를 작성하고 있으며이 구성 항목을 변경 하는 스크립트 가능 또는 프로그래밍 가능한 방법을 찾을 수 없었습니다 .

나는 그놈 자체가 아닌 다른 레벨에서 키를 교환하는 옵션을 찾고 있지 않으므로 내가 찾고있는 것은이 변경 사항을 스크립팅하고 내가 사용했던 키보드 구성에 표시되도록하는 것입니다. 나중에 수동으로 되 돌리십시오.


좋은 생각! 나는 Vim에서 일하는 동안 Esc를 위해 내 손을 움직이는 것에 대해 항상 불평했지만 지금은 해결책입니다! 고맙습니다 bro ;-)
sazary

1
그러나 일단 스와핑에 익숙해지면 다른 사람의 키보드를 사용해야 할 때 어색해집니다 :)
Jacobo de Vera

2
다른 옵션은 Esc 대신 Ctrl-C입니다. (모든 키보드에서 작동합니다.
Eric Wilson

@FarmBoy, 굉장합니다! 나는 그것을 몰랐다!
Jacobo de Vera

답변:


22

Keyboard Preferences제어판 ( System -> Preferences) 을 열고 Layout탭을 선택하여 GUI를 통해이를 수행 할 수 있습니다 . Options...버튼을 클릭 하여 레이아웃 옵션 대화 상자를 엽니 다. Caps Lock key behaviour섹션을 펼치고을 선택하십시오 Swap ESC and Caps Lock.

이런 종류의 스크립트를 작성할 수있는 몇 가지 방법이 있습니다.

Xkb를 통해 직접

다음과 같이 직접 변경할 수 있습니다.

setxkbmap -option caps:swapescape

다음을 사용하여 현재 레이아웃 옵션을 모두 비활성화 할 수 있습니다 (캡 잠금을 기본 동작으로 되돌림).

setxkbmap -option ''

GConf를 통해

키보드 환경 설정 제어판은을 통해 구성을 저장하며 gconf실제로 레이아웃이 적용됩니다 gnome-settings-daemon. 따라서 gnome-settings-daemongconf를 직접 업데이트하여 레이아웃을 조정할 수 있습니다 .

이 경우 관련 설정은 /desktop/gnome/peripherals/keyboard/kbd/options입니다. 따라서 다음을 사용하여 옵션을 설정할 수 있습니다.

gconftool-2 --set /desktop/gnome/peripherals/keyboard/kbd/options \
    --type list --list-type string \
    '[caps<tab>caps:swapescape]'

위의 <tab>경우 공백이 아닌 리터럴 탭 문자 여야합니다. gconf 키를 빈 목록으로 설정하여 동작을 다시 비활성화 할 수 있습니다.


gconf 옵션은 내가 찾던 것과 정확히 같지만 구성에서 캡 잠금을 이스케이프 키로, 이스케이프 키를 탭 키로 바 꾸었습니다. 설정을 수동으로 다시 변경하고 gconf-editor의 값을 보았습니다 [caps<tab>caps:swapescape]. 실제로 였습니다. 이제 모든 것이 작동합니다. 귀하의 답변을 수락하고 있으며 나중에 참조 할 수 있도록 값을 변경하도록 편집 할 것을 제안합니다. 감사.
Jacobo de Vera

@Jacobo 향후에 직접 수정 사항을 제안 할 수도 있습니다. 답변 아래에있는 수정 버튼을 누르십시오. 변경 사항은 누군가가 신속하게 승인합니다. 수정했습니다 (올바른지 확인). 어쨌든, 멋진 답변 @James! +1
Stefano Palazzo

1
@ Stefano, 감사합니다. 편집 옵션을 찾지 못했습니다.
Jacobo de Vera

로그인 화면에서 GDM에서 작동하도록하는 방법이 있습니까?
lindhe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.