tty --- 端末制御用の関数群¶
ソースコード: Lib/tty.py
tty モジュールは、tty を cbreak モードや raw モードにする関数を定義しています。
利用可能な環境: Unix.
このモジュールは termios モジュールを必要とするため、 Unix でしか動作しません。
tty モジュールは次の関数を定義しています。
- tty.cfmakeraw(mode)¶
tty 属性のリスト mode を、raw モードの tty の属性に変換します。 mode は
termios.tcgetattr()が返すものと同じ形式のリストです。Added in version 3.12.
- tty.cfmakecbreak(mode)¶
tty 属性のリスト mode を、cbreak モードの tty の属性に変換します。 mode は
termios.tcgetattr()が返すものと同じ形式のリストです。mode のローカルモードフラグ
ECHOとICANONを解除し、最小入力を 1 バイト、遅延なしに設定します。Added in version 3.12.
バージョン 3.12.2 で変更:
ICRNLフラグを解除しなくなりました。 これは Linux と macOS のstty cbreakの動作、および従来のsetcbreak()の動作と一致します。
- tty.setraw(fd, when=termios.TCSAFLUSH)¶
ファイル記述子 fd のモードを raw に変更します。 when のデフォルトは
termios.TCSAFLUSHで、termios.tcsetattr()に渡されます。 fd を raw モードにする前にtermios.tcgetattr()の戻り値を保存し、その値を返します。バージョン 3.12 で変更:
Noneの代わりに、元の tty 属性を返すようになりました。
- tty.setcbreak(fd, when=termios.TCSAFLUSH)¶
ファイル記述子 fd のモードを cbreak に変更します。 when のデフォルトは
termios.TCSAFLUSHで、termios.tcsetattr()に渡されます。 fd を cbreak モードにする前にtermios.tcgetattr()の戻り値を保存し、その値を返します。ローカルモードフラグ
ECHOとICANONを解除し、最小入力を 1 バイト、遅延なしに設定します。バージョン 3.12 で変更:
Noneの代わりに、元の tty 属性を返すようになりました。バージョン 3.12.2 で変更:
ICRNLフラグを解除しなくなりました。 これにより Python 3.11 以前の動作に戻り、Linux、macOS、BSD 系のstty(1)マニュアルページに記載されている cbreak モードの動作とも一致します。
参考
- モジュール
termios 低水準端末制御インターフェース。