저는 Dell Latitude를 가지고 있으며 cygwin-X에서 xedit를 사용하게 되었습니다(Linux 시스템에서는 ssh -X를 통해서도 가능). 편집을 취소하려면 CTRL-_ 키가 필요합니다. 이 키 조합은 xemacs 등에서 인식될 수 있습니다(다른 목적으로). 내가 아는 한, X 응용 프로그램의 키 입력은 ASCII 31("단위 구분 기호")로 수신됩니다. xedit는 어떤 코드를 기대하며, ASCII 31이 아닌 경우 이를 예상 코드에 어떻게 매핑합니까?
답변1
X 응용 프로그램 설명이벤트, 아니요키스트로크. 를 실행하면 xev
아마도 다음과 같은 내용이 표시될 것입니다(밑줄은 키보드의 Shift 키입니다).
KeyPress event, serial 34, synthetic NO, window 0xe00001,
root 0x111, subw 0xe00002, time 1812782646, (61,35), root:(81,78),
state 0x0, keycode 67 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 34, synthetic NO, window 0xe00001,
root 0x111, subw 0xe00002, time 1812783382, (61,35), root:(81,78),
state 0x4, keycode 68 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 34, synthetic NO, window 0xe00001,
root 0x111, subw 0xe00002, time 1812784150, (61,35), root:(81,78),
state 0x5, keycode 35 (keysym 0x5f, underscore), same_screen YES,
XLookupString gives 1 bytes: (1f) ""
XmbLookupString gives 1 bytes: (1f) ""
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0xe00001,
root 0x111, subw 0xe00002, time 1812784374, (61,35), root:(81,78),
state 0x5, keycode 35 (keysym 0x5f, underscore), same_screen YES,
XLookupString gives 1 bytes: (1f) ""
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0xe00001,
root 0x111, subw 0xe00002, time 1812785271, (61,35), root:(81,78),
state 0x5, keycode 68 (keysym 0xffe2, Shift_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0xe00001,
root 0x111, subw 0xe00002, time 1812785335, (61,35), root:(81,78),
state 0x4, keycode 67 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
xedit
X 툴킷 사용번역하다예를 들어 다음을 사용하여 이러한 이벤트를 작업을 위한 리소스로 변환합니다.기본 리소스 설정TextTr.c로 컴파일합니다.
":c<Key>_:" "undo()\n"
따라서 (기본 리소스를 재정의하지 않는 한) 컨트롤 수정자와 밑줄만 있으면 됩니다(키보드가 리소스를 생성하는 방법에 관계없이).
xedit
유사한 ASCII를 인식할 수 없습니다.^_
.