xedit: Ctrl-밑줄 키 조합이 마비되었습니다

xedit: Ctrl-밑줄 키 조합이 마비되었습니다

저는 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

xeditX 툴킷 사용번역하다예를 들어 다음을 사용하여 이러한 이벤트를 작업을 위한 리소스로 변환합니다.기본 리소스 설정TextTr.c로 컴파일합니다.

":c<Key>_:"     "undo()\n"

따라서 (기본 리소스를 재정의하지 않는 한) 컨트롤 수정자와 밑줄만 있으면 됩니다(키보드가 리소스를 생성하는 방법에 관계없이).

xedit유사한 ASCII를 인식할 수 없습니다.^_.

관련 정보