Caps Lock 및 Windows 키를 별도의 수정자로 다시 매핑

Caps Lock 및 Windows 키를 별도의 수정자로 다시 매핑

i3wm 구성에서 내 Caps Lock키와 키를 사용하고 싶습니다. Windows특히, 구성에서 키를 Caps Lock교체 하고 싶고, 이를 $mod참조할 수도 있도록 하고 싶습니다 . 어떻게 해야 합니까?Windowsbindsym

Caps Lock현재는 키를 사용할 수 있지만 이제 키를 다른 수정자로도 $mod사용하고 싶습니다 .Windows

.Xmodmap것은 현재

clear Lock 
clear mod4

keycode 66 = Hyper_L
add mod4 = Hyper_L

내 열쇠의 키 코드 Caps Lock는 133입니다.

답변1

여기서 문제는 기본적으로 제거한다는 것입니다.윈도우 키수식어 목록에서 사용하십시오 clear mod4.대문자 잠금as 대신 추가 수정자로 사용할 수 있습니다.창 키, 다른 수정자로 설정해야 합니다. Except 및 와 Mod1함께 수정자를 사용할 수 있습니다 .Mod5ControlShiftMode_switchi3.

먼저 사용 중인 레이아웃에 수정자가 사용되지 않았는지 확인하세요(귀하의 수정자를 적용하지 마세요 .Xmodmap). 를 사용하여 수정자 설정 목록을 얻을 수 있습니다 xmodmap -pm. us반환된 레이아웃 의 경우 (내 컴퓨터에서):

xmodmap: 수정자당 최대 4개의 키(괄호 안의 키코드):

Shift Shift_L(0x32), Shift_R(0x3e)
잠금 Caps_Lock(0x42)
컨트롤 Control_L(0x25), 컨트롤_R(0x69)
mod1 Alt_L(0x40), Alt_R(0x6c), Meta_L(0xcd)
mod2 숫자 잠금(0x4d)
모드 3      
mod4 Super_L(0x85), Super_R(0x86), Super_L(0xce), Hyper_L(0xcf)
mod5 ISO_Level3_Shift(0x5c), Mode_switch(0xcb)

보시다시피 mod3현재는 사용되지 않습니다. 이를 사용하려면 다음을 다음과 같이 입력하면 됩니다 .Xmodmap.

잠금 해제
키코드 66 = Hyper_R
mod3=Hyper_R 추가

노트:이 예에서는 이미 66이 키 코드 로 바인딩되어 Hyper_R있으므로 사용했습니다 .Hyper_Lmod4대문자 잠금. 이는 귀하의 컴퓨터에 따라 다를 수 있습니다.

이제 이 수정자를i3키바인딩. $mod구성에서 변수를 계속 사용 하려면 사용 여부에 따라 Mod3또는 로 설정하면 됩니다.Mod4대문자 잠금또는윈도우 키그런 이유로. 그러나 실제로 사용할 필요는 없습니다(주로 최초 설정을 단순화하기 위한 옵션 중에서 선택할 때 편의를 위해).대리자( Mod1) 그리고윈도우 키( Mod4).

새로운 수정자를 사용하는 것은 매우 간단합니다:

bindsym Mod3+s exec something
binysym Mod3+Mod4+s exec something_else

관련 정보