一部の端末は^?
バックスペースとして送信し、他の一部の端末はを送信します^H
。ほとんどの端末は、動作を変更するように構成できます。考えられるすべての組み合わせを扱いたくはありませんが、Pythonからのバックスペースとして両方^?
を受け入れたいと思います。^H
これを行う
os.system("stty erase '^?'")
私は最初のオプションを受け入れます
os.system("stty erase '^H'")
2つ目は受け入れますが、1つ目は使用できなくなります。使いたい
raw_input("userinput>>")
入力を取得します。
私が理解できた唯一の方法は、「rawベースの入力」ではなく「charベースの入力」で動作する独自のシェルを実装することです。
より良い(そしてより速い)アイデアはありますか?