답변:
에서 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 을 위해 더 이상 사용되지 않습니다 .
setxkbmap
변경 사항 을 복원하려면 (즉, Caps 키를 원래 위치로 되돌려 야하는 경우) 다음을 실행하면됩니다.setxkbmap -option
setxkbmap -option caps:backspace
들어가고 xset r 66
voilá 후 .
xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'
여전히 작동 하는지 확인하십시오 .
gnome-tweak-tool
하면 "타이핑"에서 비슷한 설정이 적용됩니다.
키보드-> Layouts-> 옵션-> Caps Lock 동작으로 이동하여 "caps lock 비활성화"를 선택하여 비활성화 할 수 있습니다.
편집 :
다른 키보드 키에 왜 불편 해 보이는지 모르겠습니다.
그러나 Launchy는 CTRL+ Super+로 시도한 후에도 잘 작동합니다 Space.
launchy
트레이 아이콘 을 화이트리스트에 추가 해야합니다. 시스템 트레이에 더 많은 아이콘을 액세스하고 활성화하려면 어떻게합니까?를 참조하십시오 . . 또한 응용 프로그램이 열리지 않으면 작동하지 않으므로 시작 응용 프로그램에 추가해야합니다.
결국 Launcy의 대안으로 Synapse 를 사용하여 그놈 및 단일 성과의 최상의 통합을 시도하십시오 .
이것은 기본적으로 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로 바꾸는 데 사용 하고 있습니다.
쓸모없는 caps_lock을 기본 시프트로 다시 매핑하려면
xmodmap -e "keycode 66 = Shift_L"
다음 방법은 Compiz의 조합을 사용하여 키를 누를 때 응용 프로그램을 시작합니다.
요약하자면 -
Caps Lock Key의 동작을 너무 변경하면 xmodmap
다음과 같이 사용할 수 있습니다 .
keycode 66 = cent clear Lock add Control = cent
xmodmap capslock
실행하려면이 명령을 시작 응용 프로그램에 영구적으로 추가하십시오.
Caps Lock을 누르면 "cent"키를 누르는 것과 유사합니다. 이것은 실제로 키보드에있는 키가 아닙니다.
여기에서 KeySym 이름 목록을 얻을 수 있습니다 .
CompizConfig 설정 관리자 시작
일반 섹션에서 "명령"이 활성화되어 있는지 확인하고 다음과 같이 명령을 구성하십시오.
NB는 키 바인딩을 활성화하고 "grab 키 조합"을 사용하여 "cent"키를 인식합니다. 불행히도 캡 잠금 키 자체를 인식하는 compiz를 얻을 수 없습니다.
"런치"를 시작하는 데 사용하는 모든 명령에 대해 "firefox"를 변경하십시오.
이제 Caps Lock 키를 누르면 compiz는 매핑 된 "cent"키를 인식하고이 경우 firefox라는 명령을 실행합니다 (이 경우 "launchy").
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)
xmodmap을 사용하여 새 키의 기능을 Caps Lock 버튼에 바인딩합니다. 다음과 같은 명령을 사용하고 싶다고 확신합니다.
xmodmap -e "keycode 66=0x60"
이제 텍스트 상자에서 물리적 캡 잠금 버튼을 누르면 중괄호 (`)가 나타납니다. 그러나 바로 가기 키를 매핑하면 다른 작업이 수행됩니다. 텍스트 상자에서 사용하려면 caps lock을 왼쪽 시프트 또는 f10으로 바꾸거나 사용하려는 명령을 방해하지 않는 것처럼 보일 수 있습니다.
내가 준 명령이 원하는 방식으로 작동하는지 테스트하십시오.
시작 응용 프로그램으로 이동하여 시작 응용 프로그램에 해당 명령을 추가하십시오. 이런 식으로 시작할 때마다 키가 올바르게 전환됩니다.
댄스.
키 바인딩 변경 (하드웨어를 소프트웨어로)
또한 xmodmap에 대한 추가 도움말을 보려면
우분투 16.04
setxkbmap -option <OPTION>
Wernight의 대답에서 즉시 효과가있는 것처럼 보였습니다.
그러나 재부팅하면 사라집니다. 이 문제를 해결하기 위해 시작 응용 프로그램에 추가했습니다.
Startup Applications
>> 추가 클릭/usr/bin/setxkbmap -option <OPTION>
명령으로 (참고 : 전체 경로가 중요하다)<OPTION>
같은 것으로 교체하십시오 caps:escape
(vi에 사용합니다)
배경
방금 15.10에서 16.04로 업그레이드했으며 작동을 멈추기 전에이를 매핑하는 데 사용한 것을 모두 사용했습니다.
나에게 가장 적합한 옵션 (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에서 차단하십시오 (필요한 경우 작성).