`setxkbmap`은 수정자 매핑을 변경하지 않습니다.

`setxkbmap`은 수정자 매핑을 변경하지 않습니다.

다음 명령을 사용하여 키맵을 성공적으로 업데이트할 수 있습니다.

/usr/bin/setxkbmap -option "ctrl:swapcaps"

이것은 내 수정자 맵을 변경하지 않는 것 같습니다.

[OP@localhost ~]$ xmodmap
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x25)
control     Control_L (0x42),  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)

그러나 모든 것이 작동하는 것 같습니다. 내 질문은 다음과 같습니다이것이 수정자 맵을 변경하지 않는 이유는 무엇이며, 작동한다면 수정자 맵은 무엇을 위해 사용됩니까?

답변1

변경할 것이 없기 때문에 수정자 맵은 변경되지 않습니다. ;)

무슨 일이 일어나면 xkbControl_L열쇠 기호는 그 열쇠 기호가 속한 키 코드 66에 귀속됩니다 CapsLock.

CapsLockkeyym은 더 이상 키코드의 영향을 받지 않지만 여전히 Caps Lock 수정자입니다.

Control_Lkeysym은 이미 Modmap에 있으므로 추가할 필요가 없습니다.

실제로 두 개의 Shift 키를 동시에 누르면 shift:both_capslock활성화/비활성화되는 또 다른 옵션을 추가할 수도 있습니다. CapsLockCapsLock은 Modmap에서 제거되지 않았으므로 여전히 작동합니다.

자, 이 모드맵은 어떤 용도로 사용되나요? 고려해야 할 다른 수정자가 있습니다.

ISO_Level5_shift다중 언어, 유니코드 기호, "EIGTH_LEVEL" 키가 있는 확장 키보드에 적합합니다.

ISO_Prev_Group⮱ 여러 그룹에 적용됩니다 .

⮱사용자들 사이에서 매우 Hyper인기가 있습니다 Emacs.

...등 xkb각 수정자(shift, 래치, 잠금)에는 다양한 변형이 있지만 이러한 기능이 모두 와 관련이 있는 것은 아닙니다 Xmodmap.

그럼에도 불구하고, 이 앱은 사용하기에 매우 좋으며 setxkbmap대부분의 사용자가 알고 있는 것보다 더 많은 내용을 담고 있습니다.

man Xkeyboard-config

localectl동일한 옵션을 사용하여 변경 사항을 영구적으로 적용할 수 있습니다 (약간의 의미 변경에 유의하세요).

관련 정보