上下の矢印キーを使用してさまざまなアプリを上下にスクロールするときにキーを押したままにすると、通常はかなり長い間アプリがスクロールし続けることがよくあります。キーを押し続けると、キーボードバッファにキーを押したままにしてスクロールが停止する前にすべてを処理する必要があるようです。これを防ぐことはできますか? IOW、キーから指を離すとスクロールを止めたいです。この問題がどのレベルで発生するのかわかりません。つまり、Xfceのせいなのか、Debianのせいなのか、Linuxのせいなのかはわかりません。しかし、一部のアプリではこの問題はまったく発生しないため、誰を責めるべきかわかりません。
答え1
Unixシリーズシステム(DOSと比較)の場合、これはシステムではなくアプリケーションレベルで行われます。システムは大きな入力バッファを提供するので、それを埋めるのが困難になります。
アプリケーションレベルでは、ほとんどのプログラムは自分自身が遅れていて、入力バッファがいっぱいであることを認識するのに十分賢くありません。彼らはできませんバラより入力バッファ。それら見ることができる画面が更新されるのにかかる時間と更新に費やされる時間の比率を測定します。
cursesアプリケーションは、更新が完了する前に入力文字を認識していくつかの最適化を実行できます。これ事前に入力してください関数は、cursライブラリが(次の更新のために)更新を放棄するかどうかを制御します。他のLinuxターミナルアプリケーション(スマートな場合)は、入力バッファを破棄することができます。フラッシュ(標準入力)- ポータブルではありません。
一部のXアプリケーションは、このタイプの最適化(パフォーマンスの問題に応答して入力データまたは出力更新を破棄)も実行します。
しかし、システム全体これに近づきます。 DOSとは異なり、Linux(およびUnix)オペレーティングシステムは複数の同時プロセスをサポートし、システムはこれらのプロセスにリソースを提供しようとします。
追加資料:
- fpurge, __fpurge - ストリームの削除、気づいた
入力バッファを削除したいのは通常間違いです。
- fflush - ストリームフラッシュ、説明する
標準は入力ストリームの動作を指定しません。他のほとんどの実装はLinuxと同じように動作します。