0

自動起動を停止するには、2 つの ifdef (CONFIG_AUTOBOOT_STOP_ [STR2 || STR1] ) があります。これは、実装が非常に簡単で簡単です。単一の「キーストローク」またはフレーズでブートを停止することは、ユーザーにとって独自の利点があります。しかし、[ctrl + anykey] の組み合わせのように、contole キーのサポートが無視されるのはなぜですか。特に、BIOS ベンダーは、ブートを停止するために少なくとも 2 つ以上のキーを同時に押すことを好みます。これを回避する具体的な理由。シンプルさ以外に、これに固執する特定の理由があります。

4

1 に答える 1

0

CTRLキーは修飾子です。CTRL+KEYコンボは通常のプレス イベントとして登録され、KEY修飾キーのステータスを示す追加のフラグが設定されます。Linux カーネル キーボード ドライバーのドキュメント で、キーボード ドライバーの修飾子について確認してください。

また、キーボードの仕組みに関するこの優れた記事も確認してください。

すべての修飾子を処理するには、コードがさらに複雑になります。ブートローダーは、厳しい制約のある環境で実行されます。特に組み込みシステム (u-boot が意図されている) では、u-boot 全体が 64/128K の RAM (バイナリ + スタック) 内でロードおよび実行されることを期待するのが非常に一般的です。

修飾子を使用する必要がある前にキーボードに 50 個以上の一意のキーがあるという事実を考慮すると、それらのソフトウェア サポートは通常、u-boot に実装されていません。

于 2013-08-05T09:56:14.827 に答える