i3의 대부분의 키 바인딩에는 Mod4를 사용하지만 Mod1을 사용합니다.
bindsym Mod1+a workspace a
bindsym Mod1+b workspace b
bindsym Mod1+c workspace c
bindsym Mod1+d workspace d
...
그러나 이것은 alt와 altgr을 바인딩하는데, 이는 일부 문자를 입력하기 위해 altgr+<letter>를 사용하기 때문에 바람직하지 않습니다.
xev는 alt가 Alt_L이고 altgr이 Alt_R임을 보여주지만 bindsym Alt_L+a
작동하지 않습니다 .
답변1
궁극적으로 무엇이 달려 있는가?xmodmapmod1을 표시합니다. 예를 들어 동일한 수정자에 나타나고 동일한 수정자에 있는 경우 Alt_L
충돌 Alt_R
을 피하기 위해 후자를 다른 수정자(사용 가능한 5개 수정자 중)로 이동해야 합니다.
다음은 예제를 제공하는 일부 페이지입니다.
- xmodmap을 사용하여 Alt_R을 다시 매핑하여 VC 터미널 전환을 비활성화합니다.
Alt_R
사용자가 어디에서 이동했는지 보여주는 예모듈 1도착하다모드 4(그리고 문제가 발생했습니다). 변경하기 전에 xmodmap의 출력을 확인해야 합니다. - xmodmap작동 수정자의 자세한 예는 ArchLinux에 나와 있습니다. 도착하다이동하다꼭 필요한 열쇠다음에 추가그것을 수정자에게 적용하고분명한그것은 다른 것에서 온다.
사용 시 한 가지 함정은 xmodmap
항상 그런 것은 아니라는 것입니다.알다키 기호에 대한 올바른 키 코드입니다(예 Alt_R
: ). 이 문제가 발생하면 일반적으로 출력을 보면 문제를 해결할 수 있습니다.
xmodmap -pk
열쇠용상징를 누른 다음 스크립트에서 해당 키코드를 할당합니다. 예를 들어 기계 xmodmap -pk
디스플레이 에서
108 0xffea (Alt_R) 0x0000 (NoSymbol) 0xffea (Alt_R)
이 스크립트를 사용하십시오
keycode 108 = Alt_R
remove mod1 = Alt_R
add mod3 = Alt_R
출력을 변경합니다.
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
이와 관련하여:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Alt_R (0x6c)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
(이 특정 시스템의 경우 해결 방법이 필요하지 않습니다.)