Caps Lock 및 Ctrl 키를 어떻게 다시 매핑합니까?


77

Ctrl처럼 동작 Caps Lock하고 그 반대로 동작 하는 키를 다시 매핑하고 싶습니다 . 또한 가능하면 현재 로그인 한 사용자에게만 설정을 적용하고 싶습니다. 어떻게하면 되나요?

이 컴퓨터를 사용하는 다른 사람들과 달리 vim 사용자이므로 내 계정에 대해서만 해당 설정을 원합니다.


1
않습니다 도움이?
Mitch


4
나는 이것이 요즘 리눅스 설정의 표준 기능이 아니라는 사실에 놀랐습니다.
Edward Falk

답변:


59

13.10+ :

설치 및 사용 gnome-tweak-tool> Keyboard & Mouse> Keyboard> Additional Layout Options> Caps Lock behavior.

13.10 이전

키보드 환경 설정 대화 상자를 엽니 다 ( System -> Preferences -> Keyboard). 레이아웃 탭에서 Options...버튼을 클릭하십시오 . Ctrl key position섹션을 펼치고을 선택하십시오 Swap Ctrl and Caps Lock.

이러한 설정은 로그인 할 때마다 적용되어야하며 사용자 계정에만 영향을 미칩니다.


2
이 옵션은 Ubuntu Saucy에서 사라졌습니다. 이것을 설명하는 방법을 모르겠지만 단순히 거기에 없습니다. 키보드 환경 설정에는 "레이아웃 탭"이 없지만 "레이아웃 설정"버튼이 있으며, 클릭하면 "지역 및 언어"패널의 "입력 소스"탭으로 이동합니다. 옵션 버튼의. 거기에있는 유일한 버튼은 가상 키보드를 열어 어떤 키보드가 어떤 방식으로 작동하는지 변경하지 않고 깨진 키보드 레이아웃을 표시합니다.
robru

4
Ubuntu 13.10의 경우 gnome-tweak-tool을 사용해야합니다.
Jeremy Bicha

1
13.10 이전의 옵션은 14.04에서 작동합니다.
JeremyKun

@JeremyKun과 동일합니다. 내 경우에는, 14.04를 사용하여 미리 13.10 솔루션은 작동하지만 13.10+하지 않았다
matiascelasco

이 답변에 감사드립니다! 는 gnome-tweak-tool정말 좋은; "키보드 레이아웃을 전환 할 때 Caps Lock 사용"(개인 선호) 및 "Salt Alt / Win 전환"(오래 오랜 Mac 사용자였던 경우 유용)과 같은 기능에도 사용할 수 있습니다.
Per Lundberg

63

그래픽으로 표시하는 가장 좋은 방법 중 하나는 Gnome Tweak Tool 을 설치하는 것입니다 .

sudo apt-get install gnome-tweak-tool

  • tweak-tool을 열고 왼쪽 열에서 타이핑 섹션을 클릭하십시오 .
  • 이제 왼쪽에 Caps Lock 키 행 이 표시됩니다.
  • 드롭 다운 목록에서 사용 안함 대신 Caps Lock 추가 Ctrl 키 를 선택하십시오 .

설정 패널 외에도 컴퓨터에 많은 시간이 걸리지 않으므로 문제가 무엇인지 전혀 모릅니다.

새로운 Ctrl열쇠를 즐기십시오 !


CAPS 키를 사용하여 화면을 끄고 싶었습니다. 이전에 시스템 설정> 키보드 창에서 이것을 설정했지만 CAPS는 여전히 CapsLock 상태와 LED를 토글했습니다. 따라서 권장 도구 (투명 창 배경에 약간의 표시 오류가 있음)로 키를 비활성화했으며 사용자 정의 바로 가기가 작동하지 않았습니다. 비활성화 한 후 바로 가기를 다시 설정해야 작동했습니다. CAPS 대신 0xff 또는 이와 유사한 값으로 설정되었습니다. 나는이 절차가 미래의 독자들도 비슷한 희망을 가질 수 있다고 생각했다.
바이트 사령관

명령 행에서 gnome-tweak-tool을 실행하면 DBus를 실행하지 않는 쉘에 대한 오류 메시지가 표시되고 설정을 변경하려고해도 아무런 영향이 없습니다.
Edward Falk

1
업데이트 : gnome-tweak-tool은 gnome shell 내부에서만 작동
Edward Falk

1
왼쪽 열에는 "타이핑"섹션이 없습니다. 데스크톱, 글꼴, 셸, 셸 확장, 테마, Windows 만 해당됩니다.
Reb. Cabin

2
교체 할 gnome-tweak-tool의 옵션은 "Caps Lock 키 동작"이 아니라 "Ctrl 키 위치"에 있습니다.
Phil Goetz

59

추가 소프트웨어를 설치하지 않고 수행 할 수있는 방법은 다음과 같습니다.

setxkbmap -layout us -option ctrl:nocaps

출처:


3
재부팅 후에도 지속되지 않습니다. 이것을 영구적으로 만들려면 어떻게해야합니까? 차라리 시작 스크립트 (예 : .bashrc)에 넣지 않겠습니다.
NIC

8
@nic 또한 파일 sudo vi /etc/default/keyboard을 변경하고 변경해야 XKBOPTIONS="ctrl:nocaps"합니다. 그 후 Jorge의 명령을 실행하지만 setxkbmap -option ctrl:nocaps기본 키보드 레이아웃이 변경되지 않도록하십시오.
Léo Léopold Hertz 준영

43

편집을 위해 다음을 엽니 다.

sudo vi /etc/default/keyboard

그리고 편집 XKBOPTIONS="ctrl:swapcaps"

그런 다음 다음을 재구성하십시오.

sudo dpkg-reconfigure keyboard-configuration

또는

/usr/bin/setxkbmap -option "ctrl:swapcaps"

문제는 "내 계정에 대해서만 해당 설정을 원합니다."였습니다. / etc / default / keyboard를 편집하면 모든 사람이이를 변경할 것입니다.
skierpage

1
3 단계 (1, 2, 3)가 있습니다. [(1과 2) 또는 3] 또는 [1과 (2 또는 3)]을 의미합니까?
jgomo3

큰! 를 실행 sudo dpkg-reconfigure keyboard-configuration하고 여러 입력을 누르면 작동했습니다! 편집 : 그러나 로그 아웃했다가 다시 로그인하면 설정이 사라졌습니다. :(
LeOn-Han Li

24

동작을 영구적으로 변경하려면 :

  1. 운영 dconf-editor

  2. 고르다 org.gnome.desktop.input-sources

  3. 변경 xkb-options으로 ['ctrl:nocaps'](또는 기존 옵션에 추가)

또는 명령 줄에서 ( 경고-기존 설정을 덮어 씁니다! ) :

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"

이 하나의 라이너는 이식성을 위해 ~ / .profile에 추가 될 수도 있습니다.
jthetzel

이것은 재부팅 후에도 Kubuntu 16.04에서 작동하지 않았습니다.
zplizzi

3
dconf 설정은 즉시 적용되며 영구적이므로 ~ / .profile에 넣는 것은 의미가 없으며 재부팅 할 필요가 없습니다. 이 특정 설정은 쿠분투에서 사용되는 KDE가 아닌 Gnome / Unity에만 적용됩니다.
Anton Eliasson

4

이 작업을 수행하는 방법을 알고 나면 쉬운 작업입니다.

1) 키의 키 코드를 확인하십시오. 이 프로그램을 터미널에서 실행하십시오.

xev


이 예제에서 터미널은 my의 키 코드 k가 "45" 임을 보여줍니다 .

2)이 파일을 생성 할 때 변경하십시오.

gedit ~ / .Xmodmap

내용은 다음 예제와 같아야합니다.

키 코드 37 = Caps_Lock NoSymbol Caps_Lock
키 코드 66 = Control_L NoSymbol Control_L

(필요에 따라 키 코드 번호를 변경하십시오- "1"단계를보십시오)

Ilustration :
(Obs .: 변경하려면 k"1"단계에서 보여준 "keycode 45"를 사용해야합니다).

4) 로그 아웃 한 후 다시 로그인하거나 재부팅하거나 다음을 실행하십시오.

xmodmap ~ / .Xmodmap

즐기시기 바랍니다 ;-)


2
이 솔루션은 가장 간단한 키맵 이외의 문제를 일으킬 가능성이 있습니다. 최신 xkb 시스템의 xmodmap 호환성은 완벽하지 않으므로 가능한 경우 xkb를 고수하는 것이 좋습니다.
James Henstridge

@ 제임스 우리가 어떻게 할 수 있는지 설명하고 싶습니까?
desgua

이 질문에 대한 다른 답변을 참조하십시오. 표준 키보드 제어판은 선택한 기본 레이아웃과 사용 가능한 옵션으로 xkb 키맵을 구성합니다.
James Henstridge

1
명령 행 setxkbmap프로그램을 사용하여 동일한 키맵을 설정할 수 있습니다 . 새로운 키맵을 작성할 수는 있지만 Xmodmap 키 코드 매핑보다 조금 더 복잡합니다. 원하는 대부분의 옵션 변형이 이미 사용 가능하다는 것은 좋은 일입니다.
James Henstridge

1
@ 제임스 setxkbmap에 대해 검색하고 배우고 있습니다. 그러나 나는 다음에 대한 답을 찾을 수 없었습니다 : 우리가 원하는 것에 키를 다시 매핑 할 수 있습니까? 예를 들어 "keycode 51 = bracketright braceright bracketright braceright masculine bar"와 같은 편심?
desgua

4

최근 Ubuntus의 기본 키 관리자 인 XKB를 통해 수동으로 (추가 도구없이) 수행하는 방법입니다. /usr/share/X11/xkb/symbols/pc섹션 수정 xkb_symbols "pc105":

//key <CAPS> {  [ Caps_Lock     ]   };
//key <LCTL> {  [ Control_L     ]   };
key <CAPS> {    [ Control_L ]   };
key <LCTL> {    [ Caps_Lock     ]   };

로그인 / 로그 아웃 또는 재부팅 자세한 내용은 여기 를 참조하십시오.

또는 해당 버튼에서 나오는 키 코드 수준으로 교체 할 수 있습니다. Modify /usr/share/X11/xkb/keycodes/evdev:

<CAPS> = 64; //66;
<LCTL> = 66; //64

sudo rm -rf /var/lib/xkb/*변경 사항을 적용 해야합니다 .


키 코드 수준에서 작업하는 것에 대한 좋은 지적. Kubuntu Bionic을 실행하는 랩톱에서 실제 Caps 키를 눌러도 여전히 내부 Caps 상태를 전환하므로 기호 수준에서 변경하는 것만으로는 만족스럽지 않습니다. 키 코드를 변경하면 작동합니다! BTW 나는 이것을 3 개의 키 (Caps, Meta 및 RAlt)로 확장했으며 실제로 <CAPS> = *orig code of the physical key you want to act **as** CAPS*보다는 쓰기 가 필요하다는 점에 유의하고 싶습니다 <CAPS> = *orig code of the key you want physical CAPS to act **as**(차별이 명확하기를 바랍니다). 이 경우 이러한 구분이 필요합니다.
jamadagni

3

gnome-tweak-tools에 "typing"섹션이 표시되지 않기 때문에 허용되는 답변이 혼동됩니다.

대신 "키보드 및 마우스"섹션을 클릭 한 다음 "추가 레이아웃 옵션"을 선택하십시오. 여기에 캡 잠금을 다른 키로 변환 할 수있는 "캡 잠금 동작"이 표시됩니다.

tweak-tool의 스크린 샷


2

KDE 기반 배포판 (예 : KDE Neon 또는 Kubuntu)에서이 동작은 일반 시스템 설정에서 구성 할 수 있습니다. 시스템 설정을 열고 "Input Devices"=> "Keyboard"=> "Advanced"를 선택하십시오. "Ctrl 키 위치"범주에서 "Ctrl 및 Caps Lock 교체"를 선택하십시오.

KDE의 시스템 설정 키보드 모듈 스크린 샷


0

gnome-tweaks 3.28.1에는 Typing섹션 이 없습니다 .
따라서 setxkbmap -layout us -option ctrl:nocaps또는 setxkbmap -layout us -option ctrl:swapcaps가능한 옵션 일 수 있습니다.

영구적으로 만들려면 @name의 답변을 참조하십시오.


키보드 및 마우스-> 추가 레이아웃 옵션
Voyager
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.