追加読書

追加読書

特定のキーボードショートカットの文字シーケンスを取得するには、showkey -aそのまま(Ctrl+ V)を使用または挿入します。

その逆は何ですか?人間が読める形式の文字シーケンスからキーボードショートカットを取得するには?

たとえば、いくつかのキーバインディングを使用しました。

^[^?
^X^U
^[[3;5~
^[[1;2D
^[[1;2C
^[[1;5C
^[[1;5D
^[[1;6C
^[[1;6D
....

今、どのキー/キーの組み合わせを使用したか覚えていません。

どうやって見つけることができますか?

アップデート1

私は人が読める形式でなどを出力できるものを探していCtrl+Rます。Ctrl+Delete

可能な文字シーケンスと人間が読める形式を含むテーブルへの参照も問題ありません。

ベストアンサー1

最初の数行

^[^?
^X^U

ASCII コントロールとしてリストされたコードを見つけることができます。

^[  (escape)
^U  (control-U)
^X  (control-X)

それ^?ASCII DELの正規表現です(削除キー)。

端末の説明(TERM)が正しく設定されている場合、

infocmp -1 -x

キーのncurses名はterminfo形式で印刷されます。追加情報がありますが、次の行が表示されます。

kDC5=\E[3;5~,

kRIT=\E[1;2C,
kRIT3=\E[1;3C,
kRIT4=\E[1;4C,
kRIT5=\E[1;5C,
kRIT6=\E[1;6C,
kRIT7=\E[1;7C,

kLFT=\E[1;2D, 
kLFT3=\E[1;3D,
kLFT4=\E[1;4D,
kLFT5=\E[1;5D,
kLFT6=\E[1;6D,
kLFT7=\E[1;7D,

どこに(与えられた用語について\EASCIIエスケープ済み^[)あなたの例に該当すると考えることができます。これkLFTそしてkRIT名前を見ると、何が何であるかがわかります(xterm-style)。修正済み左/右カーソルキー(参照XTerm制御シーケンス名前の後の数字の意味については、コード/修飾子の表を参照してください。 terminfo 名は以下にリストされています。端末データベース:

# These are the extended keys defined in this file:
#
# kDC3 kDC4 kDC5 kDC6 kDC7 kDN kDN3 kDN4 kDN5 kDN6 kDN7 kEND3 kEND4 kEND5 kEND6
# kEND7 kHOM3 kHOM4 kHOM5 kHOM6 kHOM7 kIC3 kIC4 kIC5 kIC6 kIC7 kLFT3 kLFT4
# kLFT5 kLFT6 kLFT7 kNXT3 kNXT4 kNXT5 kNXT6 kNXT7 kPRV3 kPRV4 kPRV5 kPRV6 kPRV7
# kRIT3 kRIT4 kRIT5 kRIT6 kRIT7 kUP kUP3 kUP4 kUP5 kUP6 kUP7 ka2 kb1 kb3 kc2

で説明されています。user_capsマンページ。

これらすべてを念頭に置いて、誰かが次を示すテーブルを作成するプログラムやスクリプトを作成できますか?読める形式(しかし、記録された場所を知ることは役に立ちます)。

^[^?一部の端末では、を押すとこの情報が送信されますAltDelete(ただし、端末の説明にはありません)。これは^X^U、ターミナルエミュレータでシングルキー押下によって送信されるシーケンスではありません(バウンスキー押下がない限り)。 2回のキー押下である可能性が高いです。

おすすめ記事