AltGr 및 Escape에 Caps Lock 매핑 - setxkbmap이 xcape 데몬을 침묵시키는 이유는 무엇입니까?

AltGr 및 Escape에 Caps Lock 매핑 - setxkbmap이 xcape 데몬을 침묵시키는 이유는 무엇입니까?

저는 20.04 Ubuntu 시스템을 사용하고 있습니다.

setxkmapxcape나는 AltGr과 Esc 키를 와 where의 조합을 사용하여 Caps Lock 키에 매핑 하려고 했습니다.빠른 키 누르기~로 행동하다탈출하다그리고긴 키 누름 시간~로 행동하다대체 그룹.

나는 다음을 수행함으로써 원하는 동작을 달성할 수 있다고 믿습니다.

$ setxkbmap -option lv3:caps_switch
$ xcape -e 'Caps_Lock=Escape' -t 300

그러나 일단 setxkbmap 명령이 실행되면 xcape 프로세스/데몬은 더 이상 클릭 시 Caps Lock이 이스케이프 문자로 작동하도록 하지 않습니다. 그 이후로 왜 그랬는지는 잘 모르겠지만xcape 프로세스가 아직 실행 중입니다., 그래서 나는 아마도 setxkbmap이 어떻게 작동하는지 간과하고 있는 것 같습니다(다른 순서로 명령을 실행하려고 시도했지만 동일한 결과를 얻었습니다).

원하는 동작을 어떻게 달성할 수 있나요?

setxkbmap 명령 전/후에 xcape를 실행하는지 여부에 관계없이 setxkbmap이 xcape 데몬을 "자동화"하는 이유는 무엇입니까?

답변1

setxkbmap귀하의 질문과 관련이 없습니다. 문서X 각도언급됨(강조):

-t <timeout ms>

이 시간보다 오랫동안 키를 누르고 있으면정지시키다, x 각도주요 이벤트가 생성되지 않습니다.. 기본값은 500밀리초입니다.

답변2

다음 명령을 실행하면 원하는 동작을 얻을 수 있습니다.

# create daemons that map Caps Lock with AltGr and Escape (escape is timed out) 
$ xcape -e "#66=Escape" -t 300
$ xcape -e "#66=ISO_Level3_Shift"
# changes current X keyboard session configuration
$ setxkbmap -option lv3:caps_switch

관련 정보