Ghosttyを使っているとき、SSH経由でBashやZshを使っていると、例えば Ctrl + I で、以下のようなエスケープシーケンスが間違って文字列として入力されてしまいます。
5;5u
なぜこのようなことが起こるのかというと、Ghosttyは、Terminalでキーボードイベント(キー押下など)を送信するプロトコルとして CSI u (Kitty Keyboard Reporting Protocol) を実装しているからです。これは比較的新しいプロトコルで、従来の Bash や Zsh などのソフトウェア、あるいは GNU Readline のようなライブラリは、まだこの新しいプロトコルに未対応です。
CSI u プロトコルについては、ここでは深入りしませんが、Ghostty ではこのプロトコルを無効化する方法は現時点では存在しないようです。ですので、今回は困ったときに個別のキーコードを全て無効化する方向で、Ghostty の設定ファイルを書くことにします。
keybind = ctrl+i=text:\x09
これで Ctrl+I で Tab キーが入力されるようになりました。