ターミネータを押すとctrl-tabを押すのと同じ効果がありますが、tab設定でキーバインディングを表示するときにマッピングされたものは何もありませんが、ctrl-tabなぜctrl-tab維持されますか?
xtermを使用すると、この問題に対する解決策がわかります。だから本質的に同様の解決策があるかどうかを確認したかったのです。解決はこれである。
.Xresourcesに次の行を追加します。
*vt100.translations: #override \n\
Ctrl ~Shift <Key>Tab: string(0x1b) string("[27;5;9~") \n \
Ctrl Shift <Key>Tab: string(0x1b) string("[27;6;9~") \n
リフレッシュ
xrdb ~/.Xresources
そして、次の行を追加してください。ここでは、ctrl-tabとctrl-shift-tabを使って画面ウィンドウを循環させたいと思います。
# Ctrl-Tab
bindkey "^[[27;5;9~" next
# Ctrl-Shift-Tab
bindkey "^[[27;6;9~" prev
答え1
端末は、キーストローク以外の文字をアプリケーションに送信します。キーは文字または文字シーケンスでエンコードされます。ほとんどのファンクションキーは、エスケープ文字(文字27 = 033 = 0x1b ==)で^[
始まるシーケンスを送信します\e
。
+キーの組み合わせにCtrl対応する標準エスケープシーケンスがないため、ほとんどの端末は通常の文字のように9 == TAB =Tab文字を送信します。^I
\t
Tab
見つかったように、Xリソースを介してさまざまなエスケープシーケンスを送信するようにxtermを設定できます。ターミネータは、Gnomeの残りの部分と同様に、カスタム機能がほとんどないGnome端末から派生しました。私が知る限り、そのような設定機能を提供しません。