次: , 前: Terminal Input, 上: Terminal Input


37.8.1 入力方式

— 機能: set-input-mode interrupt flow meta quit-char

この関数は、キーボード入力を読み取るモードを設定する。 interruptnil以外であると、 Emacsは入力割り込みを用いる。 nilであると、cbreakモードを用いる。 デフォルトの設定はシステムに依存する。 この指定に関わらずつねにcbreakモードを用いるシステムもある。

EmacsがXと直接通信しているときは、 通信方法が割り込みであると承知していると この引数を無視して割り込みを使う。

flownil以外であると、 Emacsは端末出力にフロー制御xon/xoffC-qC-s)を用いる。 cbreakモード以外ではこれの効果はない。 see Flow Control

引数metaは、文字コードが127を越える入力文字の扱い方を制御する。 metatであると、8ビット目が立っている文字を メタ文字に変換する。 metanilであると、8ビット目を無視する。 パリティビットを用いる端末では、これが必要である。 metatでもnilでもないと、 Emacsは入力した8ビットすべてを無変更で使う。 8ビット文字集合を使う端末には、これがよい。

quit-charnil以外であると、 中断に使用する文字を指定する。 通常、この文字はC-gである。 see Quitting

関数current-input-modeは、Emacsが現在使用している 入力モードの設定を返します。

— 機能: current-input-mode

この関数は、キーボード入力を読み取るための現在のモードを返す。 set-input-modeの引数に対応する (interrupt flow meta quit)の形の リストを返す。 各要素の意味はつぎのとおりである。

interrupt
nil以外であると、Emacsは割り込み駆動の入力を用いている。 nilであると、Emacsはcbreakモードを用いている。
flow
nil以外であると、 Emacsは端末出力にフロー制御xon/xoffC-qC-s) を用いている。 この値は、interruptnilの場合にのみ意味を持つ。
meta
Emacsが入力文字の8ビット目をメタビットとして扱うときにはtである。 Emacsが各入力文字の8ビット目をつねに0にするときにはtである。 さもなければ、Emacsは文字コードとして8ビットすべてを使っている。
quit
現在Emacsが中断に使っている文字であり、普通はC-gである。