コンピュータのキーボードのキーが押されたり離されたりしたときに、キーボードからCPUに送られるコード(符号)のこと。走査コード(そうさコード)ともいう。外部リンク概要[編集]コンピュータのキーボードでは、たとえば「A」のキーを押した場合、「A」という文字の文字コード(ASCIIコードなど)が直接送られるわけではない。キーボードコントローラは、キーの押下あるいは解放を検出すると、そのキーに固有のスキャンコードをCPUに送る。スキャンコードは、キーボードのキーを物理的に識別するものであり、そのキーの表す文字や機能とは関係ない。CPUはスキャンコードを受け取ると、キー配列の設定や修飾キー・ロックキーなどの状態を参照して、該当する文字の入力として受理したり、修飾キーやファンクションキーの処理を実行したりする。同じキーのメイクとブレイクはMSBやプレフィクスコードによって区別されることが多い。オートリピート(タイプマティック)の処理をキーボード側で行う場合、キーが押されている間、メイクコードを周期的に発生する。スキャンコードの体系はコンピュータの機種によって異なる。インタフェース規格によって決まっていることもある。同じ機種・インタフェースであっても、複数の体系をもっている場合もある。受け取ったスキャンコードをOS独自の仮想キーコードに変換・統一してから扱うのが一般的である。~」であるが、スキャンコードは同じ)。キートップの刻印の違いは多くの場合表面的なもので、物理的な配列が類似していれば、スキャンコードのレベルではほとんど変わりがない(特に欧州各国のキーボードのように、物理的なキー配列に差がない場合は、刻印を無視すればまったく同一のキーボードとみなせる)。したがって、JIS配列キーボードにUS配列の設定を適用するなどしても、ほとんどのキーは問題なくUS配列として動作する(一部、物理的にキーの有無や位置が異なるものについては、この限りではない)。PC/AT・PS/2キーボードのスキャンコード[編集]PC/AT互換機のスキャンコードは、歴史的な経緯により複雑な体系となっている。以下、スキャンコードの値を16進数2桁で表す。PC/XT)最初の製品であるためスキャンコードは整然としている(01〜53)。ブレイクはMSBを立てることで示す。(PC/AT)物理的な配置は一部変更されたが、スキャンコードは変わっていない。SysReqキーが追加された(54)。(PC/AT)キーが大幅に追加された。右Ctrl・右Alt・テンキーのEnter・テンキーの/(スラッシュ)は、それぞれ左Ctrl(1D)・左Alt(38)・Enter(1C)・/(35)にプレフィクスE0がつく。従来テンキーと兼用していたカーソルキー、Insert、Delete、Home、End、PageUp、PageDownが独立した。それぞれ対応するテンキーのコードにプレフィクスE0がつく。F11(57)、F12(58)は新規のコード。SysReqキー(54)がなくなり、Alt+PrintScreenとなったため、Alt+PrintScreenで54を発生する。