Awesome WM에서 Mod 키 변경하기

Awesome WM에서 Mod 키 변경하기

멋진 모드 키를 Windows 키에서 Pause, Scroll Lock, Escape로 변경해 보았습니다.

모든 키에 대해 구성 파일의 항목을 변경하려고 했습니다 rc.lua. 잠금을 해제하기 위해 xmodmap을 사용해 보았습니다.add mod4 = ...

그러나 내가 무엇을 하든 키가 "고착"(때때로 이상하고 일관되지 않은 방식으로)되는 것 같습니다. 즉, 키를 한 번 누르면 컴퓨터가 계속해서 누르는 것처럼 작동합니다.

이 동작을 바꾸는 합리적인 방법이 있습니까?

답변1

내 집에는 다음 두 줄이 포함된 파일이 있습니다.

clear lock 
keysym Caps_Lock = Super_L

내에서 호출됩니다.rc.lua이와 같이:

awful.util.spawn("xmodmap /home/username/your_xmodmap.file")

답변2

많이 늦었지만 다른 분들의 참고를 위해:

문제는 xmodmap이 수정자 키로 나열한 키를 식별하지 못하는 것 같습니다. 따라서 AwesomeWM에서는 수정자 키로 사용되는 것을 허용하지 않습니다.

Mod3로 사용하려는 키를 추가해 보면(내가 본 대부분의 시스템에서는 사용되지 않는 것 같습니다) 그러면 rc.lua에서 해당 모드 키를 "Mod3"로 나열할 수 있습니다.

수정자 키로 추가

로 수정자 키를 볼 수 있습니다 xmodmap. 기본적으로 다음과 같은 내용이 표시될 것입니다.

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)

xev실행 중에 누르는 키의 이름을 볼 수 있으며 Scroll Lock의 경우 내 키는 다음과 같이 표시됩니다 .

KeyPress event, serial 36, synthetic NO, window 0x2200001,
    root 0x225, subw 0x0, time 23086947, (433,729), root:(470,783),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x2200001,
    root 0x225, subw 0x0, time 23087091, (433,729), root:(470,783),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

키심의 이름이 이라는 것을 알 수 있습니다 Scroll_Lock.

Mod3에 추가하려면 ~/.Xmodmap. 이 줄을 추가하면 Mod3가 Scroll_Lock 키로만 설정됩니다.

add Mod3 = Scroll_Lock

변경 사항을 테스트하고 .Xmodmap 파일의 오류를 확인하려면 다음을 실행하세요.

xmodmap ~/.Xmodmap

rc.lua 업데이트 중

이미 알고 있듯이 rc.lua 파일(보통 에 있음 ~/.config/awesome/rc.lua) 위쪽에 한 줄이 있습니다 modkey = "Mod4". 이것을 로 변경합니다 modkey = "Mod3".

경고

Esc 키는 AwesomeWM의 다양한 키 매핑에 사용됩니다. 광범위한 충돌이 발생할 가능성이 적기 때문에 대신 Scroll Lock 또는 Pause를 사용해 보는 것이 좋습니다. 실제로 AwesomeWM은 Esc가 현재 작업을 취소하기 위해 예약되어 있다고 가정하는 것 같습니다.

Scroll Lock은 Caps Lock과 마찬가지로 마술처럼 잠금 키로 취급되는 것 같습니다. 차이점은 Caps Lock의 잠금 동작은 비활성화하기가 비교적 쉬운 반면, Scroll Lock은 내가 아는 한 이 동작을 비활성화할 수 없다는 것입니다.

Numpad 0 키와 같은 키나 일반적으로 상태 잠금 키로 설계되지 않은 키를 사용하여 이 키를 사용해 보고 작동하는지 확인한 다음 원하는 키로 전환해 보는 것이 좋습니다.

답변3

3년 늦었다는 걸 알지만 이것이 누군가에게 도움이 된다면 전환하세요

modkey = "Mod4"

~와 함께

modkey = "Mod1"

관련 정보