2つのEnterキーが異なる動作

2つのEnterキーが異なる動作

alacrittyZorin 16でターミナルエミュレータを使用しています。 2つのEnterキーが異なる出力を提供します。

% showkey -a

Press any keys - Ctrl-D will terminate this program

^M   13 0015 0x0d
^J   10 0012 0x0a

デフォルトのEnterキーは^ Mを提供し、キーパッドEnterキーは^ Jを提供します。

これはbashとzshの両方に当てはまります。

どちらのキーも^ Mを提供したいと思います。

この目標をどのように達成できますか?

ベストアンサー1

うん、そうだと思います。alacrittyデフォルト設定はLFを送信することです。(別名\n^J)をキーボード入力に適用し、アプリケーションのキーボードモードが有効になっているかどうか(以降)tput smkxに関係なく、terminfoエントリ(少なくともUbuntu 20.04の場合)にある場合でも、他のkent=\EOMすべての端末はCRを送信します(ほとんど\EOM以降tput smkx)。

以下を追加して変更できます。

key_bindings:
  - { key: NumpadEnter, chars: "\r" }

(またはお気に入りの~/.config/alacritty.ymlファイルパスにはいくつかのオプションがあります。マニュアルを参照してください)

icrnlいずれにせよ、ターミナルデバイスドライバは通常、入力時に自動的にCRをLFに変換するように設定されているため(出力を参照stty -a)、通常実際には大きな違いはありません。この設定を無効にするTUIアプリケーションについてのみshowkey違いを見ることができます(true)。

おすすめ記事