xev를 실행하고 Alt를 누르면 다음 이벤트가 생성됩니다.
KeyPress event, serial 37, synthetic NO, window 0xa600001,
root 0x5bc, subw 0x0, time 823983987, (672,346), root:(672,411),
state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
이 맥락에서 "합성"이란 정확히 무엇을 의미합니까?
답변1
만약 synthetic
그렇지 YES
않다면 NO
, 이는 해당 이벤트가 다른 X11 클라이언트에 의해 생성된 "가짜" 이벤트임을 의미합니다.XSendEvent(3)
, 서버가 아닙니다.
많은 프로그램(예 xterm
: firefox
)은 합성 이벤트(ClientMessage 이벤트 제외)를 무시합니다. 이는 X11 클라이언트가 XTest 확장(기본적으로 존재하고 활성화됨)을 통해 쉽게 키 누르기 및 마우스 이벤트를 생성할 수 있기 때문에 어떤 종류의 실제 보안보다 기분 좋은 조치에 가깝습니다.