1

したがって、私の質問は簡単です: ユーザーが (物理キーボードまたはその他の方法で) 文字キーを「入力」した後、プログラムは生の入力ビットをどのように受け取るのですか?

つまり、プログラムが生のビットとして受け取った後の文字エンコーディングがどのように機能するかは知っていますが、そもそもそのビットシーケンスがどのように表示されるかについては明確ではありません。

私は少し読んでいましたが、これは私のGoogle-fuの難しい検索であることが判明しました. OS が入力デバイス (通常はキーボード) からスキャン コードを受け取り、これを文字マッピングとキーボード レイアウトを使用してエンコーディングにマップし、結果のビット シーケンスをプログラムに渡すようです。私は正しいですか?もしそうなら、私にとって唯一欠けている部分はこれです:

  1. キーボード レイアウトは、スキャン コードが対応する文字をどのように定義しますか? Unicode コード ポイントを使用していますか? OS固有の内部テーブル?

  2. 次に、プログラムは、コンパイル時に (OS からの) 入力を期待する文字エンコーディングを定義しますか? まったくですか?

4

1 に答える 1

1

アセンブラーコースの一部として、キーボードから読み取る方法についての非常に優れた低レベルの説明があります。キーストロークから CPU までのパイプライン全体をカバーします。コース全体はここにあり、キーボード入力に関する章はここにあります。

于 2012-11-12T22:22:24.307 に答える