Caps Lock 스캔 코드 다시 매핑

Caps Lock 스캔 코드 다시 매핑

Windows에서는 Caps Lock을 두 번째 Enter 키로 설정하여 왼쪽 새끼손가락으로 누를 수 있습니다. 이를 위해 이 매개변수를 레지스트리에 추가했습니다.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "스캔코드 매핑"=Hex:00,00,00,00,00,00,00,00,02,00,00,00,1c,00 ,3a,00 ,00,00,00,00

Linux에서 동일한 작업을 어떻게 수행할 수 있습니까?

답변1

가장 가까운 것은 실행하는 것입니다.xmodmap로그인할 때마다 프로그래밍됩니다.

.Xmodmap다음 코드 조각을 다음 이름의 파일에 배치합니다.

keycode 66 = Return
clear Lock

다음을 실행하여 키 코드와 현재 연결된 키 이름을 볼 수 있습니다.xev터미널에서. Caps Lockxev 창에 초점이 맞춰졌을 때 누르면 다음과 같은 내용이 표시됩니다.

KeyPress event, serial 29, synthetic NO, window 0x7c00001,
    root 0x105, subw 0x0, time 96597741, (1548,225), root:(3151,256),
    state 0x0, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
"   XLookupString gives 1 bytes: (0d) "
"   XmbLookupString gives 1 bytes: (0d) "
    XFilterEvent returns: False

대부분의 키에는 해당 keycode전선만 필요합니다. 수정자는 개별적으로 추적됩니다. keycode … = …즉, 키 기호(지시문 오른쪽에 있는 항목)를 수정자와 일치 시켜야 합니다 . 이 명령은 모든 키에서 수정자(Caps Lock 또는 Shift Lock)를 clear Lock제거합니다 .Lock

배포 및 데스크톱 환경에 따라 이 줄을 추가하는 것만으로는 충분하지 않을 수도 있습니다 ~/.Xmodmap. 많은 설정(전부는 아님)이 로그인 시 자동으로 이 파일을 읽습니다. 해당 명령이 없으면 xmodmap ~/.Xmodmap로그인할 때 명령을 실행하십시오. 이를 수행하는 방법은 선택한 데스크탑 환경에 따라 다릅니다.

답변2

내 .Xmodmap 파일에서 Caps Lock나는Escape

clear Lock
keycode 0x42 = Escape

Return당신이 원하는 대로 만들어라 그러면 효과가 있을 것이다

clear Lock
keycode 0x42 = Return

매우 흥미롭게도 다른 키 조합과도 작동합니다. 예를 들어

keycode 0x87 = Insert

이것이 Context Menu key핵심이 됩니다 Insert. (물론 나에겐 재미있음)

Giles의 답변에서 알 수 있듯이 xev키코드를 사용하여 재할당할 키를 결정할 수 있습니다.

시작해야 한다는 것을 잊지 마세요:

xmodmap ~/.Xmodmap

사용자 창 관리자의 시작 스크립트에서 로그인하는 각각의 새 세션에 대해 키 리디렉션이 고려되도록 합니다.

관련 정보