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を認識できません。^_

おすすめ記事