この関数は、キーボード入力の読み取りモードを設定します。interrupt が nil 以外の場合、Emacs は入力割り込みを使用します。nil の場合は、CBREAK
モードを使用します。デフォルト設定はシステムによって異なります。システムによっては、指定内容に関わらず常に CBREAK モードを使用するものもあります。
EmacsがXと直接通信する場合、この引数は無視され、それが既知の通信方式であれば割り込みを使用します。
flow が nil でない場合、Emacs
は端末への出力に XON/XOFF (C-q,
C-s) フロー制御を使用します。これは CBREAK
モード以外では効果がありません。
引数 meta は、127を超える入力文字コードのサポートを制御します。meta が t の場合、Emacs
は必要に応じてデコードする前に、第8ビットがセットされた文字をメタ文字に変換します(ターミナル I/O エンコーディング を参照)。meta が nil の場合、Emacs
は第8ビットを無視します。これは、ターミナルがこのビットをパリティビットとして使用している場合に必要となります。meta がシンボル encoded の場合、Emacs
はまず各バイトの8ビットすべてを用いて文字をデコードし、その後、デコードされたシングルバイト文字の第8ビットがセットされていれば、それをメタ文字に変換します。最後に、meta が t、nil、encoded のいずれでもない場合、Emacs
はデコードの前後を問わず、入力の8ビットすべてをそのまま使用します。これは、8ビット文字セットを使用し、メタ修飾子を第8ビットとしてエンコードしないターミナルに適しています。
quit-char が nil
以外の場合、終了に使用する文字を指定します。通常、この文字は C-g です。終了 を参照してください。
current-input-mode 関数は、Emacs
が現在使用している入力モード設定を返します。
この関数は、キーボード入力の読み取りにおける現在のモードを返します。set-input-mode
の引数に対応する、(interrupt flow meta quit) 形式のリストを返します。その形式は以下の通りです:
Emacsが割り込み駆動の入力を使用している場合は non-nil となります。nil の場合は、Emacsは CBREAK
モードを使用しています。
Emacsがターミナルへの出力にXON/XOFF (C-q, C-s) フロー制御を使用している場合、non-nilとなります。この値は、interruptがnilである場合にのみ意味を持ちます。
入力のデコード前にEmacsが入力文字の第8ビットをMetaビットとして扱う場合は t、デコード後のシングルバイト文字の第8ビットをMetaビットとして扱う場合は encoded、すべての入力文字の第8ビットをクリアする場合は nil、それ以外の値はEmacsが8ビットすべてを基本文字コードとして使用することを意味します。
は、現在Emacsが終了に使用している文字で、通常はC-gです。