これは仮想キーコードではありません。

これは仮想キーコードではありません。

Nanoでより一般的なショートカット(検索用のCtrl-F、置換用のCtrl-Hなど)を作成したかったので、ファイルを編集してnanorc以下を追加しました。

bind ^F whereis all
bind ^H replace all
bind ^M mark all
...

驚くべきことに、バックスペースキーを押すと置換機能が有効になり、Enterを押すとマークアップが有効になります。

その後、仮想キーコードがBackspace 0x08、H 0x48、Enter 0x0D、M 0x4Dであることに気づきました。

Ctrlキーバインディングは実際に0x40でビットマスクされていますか?

ベストアンサー1

Nanoで使用する仮想端末は、過去数十年間の物理シリアル端末をモデルにしたものです。通常、これらの端末は、アルファベットキー、または、、、、およびラベル付きのいずれかの@キーを押すと同時に押すと、ASCII制御コードを生成します。送信される制御コードは、アルファベットコードから64を引いたASCIIコードです。したがって、を押すと、キャリッジリターンコードであるM(0x53)減算0x40 = 0x13のASCIIコードが生成されます。 Returnキーはキャリッジリターン文字も生成します。なぜならそれはキーの機能だからです。[\]^_CtrlCtrl-M

おすすめ記事