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


68

과거 xmodmap에는 Caps Lock버튼 작동 을 방지하는 데 사용 했지만 Launchy 에게 키 누름을 처리하도록 지시했습니다. 더 이상 할 수없는 것 같습니다.

Caps Lock의 정상적인 동작 을 비활성화 하고 다른 작업을 수행 하는 가장 좋은 방법 은 무엇입니까?


답변:


70

에서 howtogeek.com 하는 모든 OS에 대한 좋은 답변이 있습니다.

Linux (Ubuntu 포함)의 경우 :

setxkbmap -option <OPTION>

경우 <OPTION>의 예를 들어 수 있습니다 :

  • caps:none – Caps Lock을 비활성화합니다.
  • caps:super– Caps Lock은 추가 Super (일명 Win 키)가됩니다.
  • caps:ctrl_modifier– Caps Lock은 추가 Ctrl이 됩니다.
  • caps:numlock– Caps Lock은 추가 Num Lock이 됩니다.
  • caps:escape– Caps Lock은 추가 탈출이 됩니다.
  • caps:backspace– Caps Lock은 추가 백 스페이스가 됩니다.
  • caps:swapescape – Caps Lock은 Escape가되고 Escape는 Caps Lock이됩니다.

참고 : Xmodmap은 setxkbmap 을 위해 더 이상 사용되지 않습니다 .


2
당신에게 사람을 사랑, 감사, 그것은 ubutnu을 위해 14.10 일
의 Andrzej Rehmann

1
우분투 15.10에서도 작동합니다! 감사!
donatello

5
멋지고 간단하며 16.04에서 작동
chepyle

3
setxkbmap변경 사항 을 복원하려면 (즉, Caps 키를 원래 위치로 되돌려 야하는 경우) 다음을 실행하면됩니다.setxkbmap -option
landroni

Capslock 키를 백 스페이스에 다시 매핑 한 후 계속 누르면 단어가 삭제되지 않는 이유가 궁금하다면 추가 명령을 사용해야하기 때문입니다. setxkbmap -option caps:backspace들어가고 xset r 66voilá 후 .
Gabriel

19

우분투 11.10-13.04에서

  1. 열기 키보드 레이아웃 응용 프로그램을하고 '옵션'버튼을 클릭합니다.
  2. 리 바인딩 옵션 목록이 나타납니다. "Caps Lock 키 동작"을 선택하십시오.
  3. 원하는 Caps Lock 용도 변경 옵션을 선택하십시오.

사용 가능한 옵션의 스크린 샷


1
@JacobJohanEdwards 자기 자신에게 참고, xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'여전히 작동 하는지 확인하십시오 .
Jjed

vim 사용자의 경우 'Practical Vim'은 시스템 레벨에서 caps lock을 ctrl에 맵핑하도록 권장합니다. 키보드 레이아웃> 옵션> Ctrl 키 위치> Caps Lock 키를 사용 하여 트릭을 수행합니다.
rpattabi

11
이 설정은 더 이상 13.10에 존재하지 않습니다. 설치 gnome-tweak-tool하면 "타이핑"에서 비슷한 설정이 적용됩니다.
pcworld

우분투 12.10에서는 작동하지 않습니다. 그놈 제어 센터에서 해당 설정을 엉망으로 만드는 것은 효과가없는 것 같습니다.
앤드류 바그너

4
왜 14.04에서 이러한 옵션을 제거 했습니까?
Léo Léopold Hertz 준영

18

키보드-> Layouts-> 옵션-> Caps Lock 동작으로 이동하여 "caps lock 비활성화"를 선택하여 비활성화 할 수 있습니다.


편집 :

다른 키보드 키에 왜 불편 해 보이는지 모르겠습니다.

그러나 Launchy는 CTRL+ Super+로 시도한 후에도 잘 작동합니다 Space.

여기에 이미지 설명을 입력하십시오

launchy트레이 아이콘 을 화이트리스트에 추가 해야합니다. 시스템 트레이에 더 많은 아이콘을 액세스하고 활성화하려면 어떻게합니까?를 참조하십시오 . . 또한 응용 프로그램이 열리지 않으면 작동하지 않으므로 시작 응용 프로그램에 추가해야합니다.


결국 Launcy의 대안으로 Synapse 를 사용하여 그놈 및 단일 성과의 최상의 통합을 시도하십시오 .


이 옵션은 Ubuntu 15.04에서 사용할 수없는 것 같습니다.
MichielB

15

이것은 기본적으로 https://askubuntu.com/a/223674/22073에 제공된 답변의 수정입니다 .

을 사용하여 Caps Lock 동작을 수정할 수도 있습니다 XKBOption. 이러한 변경 사항은 가상 콘솔 (/ dev / tty [1-6] 또는 Ctrl-Alt-F [1-6])에도 적용됩니다.

예를 들어 Caps Lock을 비활성화하려면 다음과 같이됩니다 /etc/default/keyboard.

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz

그런 다음 다음을 실행합니다.

sudo dpkg-reconfigure keyboard-configuration

XKBOPTIONS의 사용자 정의에 대한 전체 목록은를 참조하십시오 /usr/share/X11/xkb/rules/base.lst. 내 Ubuntu 13.10 시스템의 전체 목록은 다음과 같습니다. http://sprunge.us/cUZO

더 자세한 정보는 ArchLinux 위키에서 찾을 수 있습니다 : https://wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg


완벽 XKBOPTIONS="ctrl:swapcaps"합니다. 왼쪽 Ctrl을 Caps로 바꾸는 데 사용 하고 있습니다.
Márcio

X 및 가상 콘솔의 16.04에서 작동합니다.
jfs

10

쓸모없는 caps_lock을 기본 시프트로 다시 매핑하려면

xmodmap -e "keycode 66 = Shift_L"

다시 시작한 후에도 지속되지 않습니다.
Czarek Tomczak '10

3
다시 시작한 후에도 유지하려면 Ubuntu Dash Home> 시작 응용 프로그램> 추가> 위 명령을 입력하십시오.
Czarek Tomczak

6

다음 방법은 Compiz의 조합을 사용하여 키를 누를 때 응용 프로그램을 시작합니다.

요약하자면 -

  1. Caps Lock 키의 동작을 변경하여 다른 키를 모방합니다.
  2. 새로 모방 한 키를 수신하고 사용자 지정 스크립트를 실행하도록 compiz를 구성하십시오.

캡 잠금 키 변경

Caps Lock Key의 동작을 너무 변경하면 xmodmap다음과 같이 사용할 수 있습니다 .

  • "capslock"과 같은 파일 만들기
  • 다음을 파일에 복사하여 붙여 넣기
keycode 66 = cent
clear Lock
add Control = cent
  • 이제 xmodmap을 실행하여 변경 사항을 인식하십시오.

xmodmap capslock

실행하려면이 명령을 시작 응용 프로그램에 영구적으로 추가하십시오.

Caps Lock을 누르면 "cent"키를 누르는 것과 유사합니다. 이것은 실제로 키보드에있는 키가 아닙니다.

여기에서 KeySym 이름 목록을 얻을 수 있습니다 .

Compiz 구성

CompizConfig 설정 관리자 시작

일반 섹션에서 "명령"이 활성화되어 있는지 확인하고 다음과 같이 명령을 구성하십시오.

여기에 이미지 설명을 입력하십시오

NB는 키 바인딩을 활성화하고 "grab 키 조합"을 사용하여 "cent"키를 인식합니다. 불행히도 캡 잠금 키 자체를 인식하는 compiz를 얻을 수 없습니다.

여기에 이미지 설명을 입력하십시오

"런치"를 시작하는 데 사용하는 모든 명령에 대해 "firefox"를 변경하십시오.

이제 Caps Lock 키를 누르면 compiz는 매핑 된 "cent"키를 인식하고이 경우 firefox라는 명령을 실행합니다 (이 경우 "launchy").


몇 분 후 설정이 되돌아갑니다. Caps Lock은 일반적인 동작을합니다.
Vitaly Zdanevich

5
  1. xev 명령을 사용하십시오. Enter 키를 누르면 xev가 시작됩니다. xev는 키에 대한 모든 입력 및 똥 정보를 명령 줄에 가져옵니다. 마우스를 xev 창의 종료 키 위로 가져 가서 caps lock (또는 찾으려는 키)을 누르고 즉시 xev를 종료하는 것이 좋습니다. 캡 잠금 장치에 대한 시스템의 관련 라인은 다음과 같습니다.

    KeyPress event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    통지 keycode(66) 및 keysym(0xffe5).

    또한 실제로 사용하지 않는 다른 키에 대한 데이터를 얻을 수 있으며 캡 잠금 버튼을 사용하려는 컨텍스트에서 아무 것도 수행하지 않는 키가 있습니다. 따라서 caps lock을 사용하여 Unity 검색 창을 활성화하려면 (일반적으로 super와 같이)`를 사용할 수 있습니다. 내 컴퓨터에서 :

    keycode 49 (keysym 0x60, grave)
    
  2. xmodmap을 사용하여 새 키의 기능을 Caps Lock 버튼에 바인딩합니다. 다음과 같은 명령을 사용하고 싶다고 확신합니다.

    xmodmap -e "keycode 66=0x60"
    

    이제 텍스트 상자에서 물리적 캡 잠금 버튼을 누르면 중괄호 (`)가 나타납니다. 그러나 바로 가기 키를 매핑하면 다른 작업이 수행됩니다. 텍스트 상자에서 사용하려면 caps lock을 왼쪽 시프트 또는 f10으로 바꾸거나 사용하려는 명령을 방해하지 않는 것처럼 보일 수 있습니다.

  3. 내가 준 명령이 원하는 방식으로 작동하는지 테스트하십시오.

  4. 시작 응용 프로그램으로 이동하여 시작 응용 프로그램에 해당 명령을 추가하십시오. 이런 식으로 시작할 때마다 키가 올바르게 전환됩니다.

  5. 댄스.

키 바인딩 변경 (하드웨어를 소프트웨어로)

또한 xmodmap에 대한 추가 도움말을 보려면

http://www.xfree86.org/4.2.0/xmodmap.1.html

http://www.in-ulm.de/~mascheck/X11/xmodmap.html


4

우분투 16.04

setxkbmap -option <OPTION> Wernight의 대답에서 즉시 효과가있는 것처럼 보였습니다.

그러나 재부팅하면 사라집니다. 이 문제를 해결하기 위해 시작 응용 프로그램에 추가했습니다.

  1. 검색 및 실행 Startup Applications>> 추가 클릭
  2. 에 넣어 /usr/bin/setxkbmap -option <OPTION>명령으로 (참고 : 전체 경로가 중요하다)

<OPTION>같은 것으로 교체하십시오 caps:escape(vi에 사용합니다)

배경

방금 15.10에서 16.04로 업그레이드했으며 작동을 멈추기 전에이를 매핑하는 데 사용한 것을 모두 사용했습니다.


2

나에게 가장 적합한 옵션 (X 호환 wm / de에서)은 다음을 추가하는 것입니다.

Option "XkbOptions" "caps:swapescape"

내부

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "US"
    Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection

/etc/X11/xorg.conf.d/00-keyboard.conf에서 차단하십시오 (필요한 경우 작성).


1

물론 xmodmap 옵션이 작동하는 동안 GUI를 사용하는 옵션을 찾고 싶었습니다. 이것은 나에게 가능합니다 (Ubuntu 15.10 사용).

  • gnome-tweak-tool 설치
  • '유형'으로 이동
  • 'Caps Lock 키 동작'에서 'Caps lock is disabled'를 선택하십시오.

-1

가장 강력한 솔루션은 펌웨어에서 키를 다시 매핑 할 수있는 키보드, 즉 전문적이고 프로그래밍 가능한 키보드를 구입하는 것입니다.

일반적으로 약 200 달러이며 고급 기계식 키 스위치도 있습니다. 비용이 많이 들지만 앉아있는 모든 새 컴퓨터에서이 문제를 피할 수있는 유일한 방법이며 개발자가 키보드 맵처럼 기본적으로 OS 인프라를 변경하기도합니다.


랩탑에서는 도움이되지 않습니다.
wallyk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.