質問

私はUNIXの下で、Pythonでのcursesアプリケーションを書いています。私はキルリングラのEmacsからヤンクするC-Yを使用するユーザーを有効にしたい。

トラブルはC-Yが、その後、私のプロセスにSIGTSTPを送信し、私のシェルでキャッチされていることを、もちろん、です。加えて、C-ZもSIGTSTPが送信さになるので、信号を捕捉する(でも、このことなく、私が考えることができる唯一のソリューションは非常にハックされているが)C-YとC-Zは区別できないことを意味する。

私は、Emacsはそれをしないので、私が求めていることは、(Cでない場合はPythonで)可能である知っています。どのように私は、キーボードから送られた特定の制御文字のシェルの特別な処理を無効にし、問題の文字は、プロセスの標準入力に現れる持つことができますか?

役に立ちましたか?

解決

termiosモジュール、およびtermios(3)のmanページを参照してください。

他のヒント

基本的な機能については、 tty のを使用しています。例えば、tty.setraw(sys.stdin)を呼び出すと、rawモードに標準入力の端末を配置します。

より一般的なケースでは、Pythonはのtermiosライブラリに付属していますが、あなたおそらく、それを使用する方法を知っているのtermiosといくつかの経験を必要とします。

あるいは、安価な方法でのtermiosコマンド行インターフェースであるsttyに支払うことである。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top