저는 xfce를 실행 중이고 제가 아는 한 일시 정지 키는 단축키로 매핑되지 않습니다. 일시 중지 키를 누르면 다음이 생성됩니다.
FocusOut event, serial 37, synthetic NO, window 0x3000001,
mode NotifyGrab, detail NotifyAncestor
FocusOut event, serial 37, synthetic NO, window 0x3000001,
mode NotifyUngrab, detail NotifyPointer
FocusIn event, serial 37, synthetic NO, window 0x3000001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
일시 중지 키를 다음과 같이 완전히 다른 키로 다시 매핑해도 상관 없습니다.
key <PAUS> {
// type= "PC_CONTROL_LEVEL2",
symbols[Group1]= [ p, Break ]
};
Shift+Pause를 누르면 다음과 같은 응답을 받습니다.
KeyPress event, serial 37, synthetic NO, window 0x3000001,
root 0x1ef, subw 0x0, time 679325549, (37,115), root:(1228,774),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 37, synthetic NO, window 0x3000001,
root 0x1ef, subw 0x0, time 679325877, (37,115), root:(1228,774),
state 0x1, keycode 127 (keysym 0xff6b, Break), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x3000001,
root 0x1ef, subw 0x0, time 679325901, (37,115), root:(1228,774),
state 0x1, keycode 127 (keysym 0xff6b, Break), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x3000001,
root 0x1ef, subw 0x0, time 679326061, (37,115), root:(1228,774),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
이동되지 않은 일시정지 키가 xev에 도달하지 못하는 이유는 무엇입니까?
답변1
FocusIn
이벤트는 FocusOut
다른 응용 프로그램(창 관리자, 데스크탑의 다른 부분, 완전히 다른 응용 프로그램)이 X 서버에 특정 키에 대한 관심을 등록했기 때문에 이러한 이벤트를 훔치고 있음을 나타냅니다.
따라서 xfce에서는 "단축키로 매핑"되지 않을 수 있지만 일부 응용 프로그램은 여전히 이에 반응하려고 합니다.
이 문제를 디버깅하는 확실한 방법은 다시 실행할 때까지 애플리케이션을 중지/종료하는 것입니다 xev
. 의 출력은 xlsclients
후보를 식별하는 데 도움이 됩니다.