Скан-коды клавиш
Всякий раз, когда клавиатура вызывает прерывание по
нажатию или отпусканию клавиши, она передает обработчику этого
прерывания "скан-код" данной клавиши, т. е. ее порядковый номер
на клавиатуре. При этом скан-код клавиши является семибитовым,
а старший бит байта, содержащего скан-код, сообщает причину
прерывания: 0 - клавиша нажата, 1 - клавиша отпущена.
+---------------------------------------------+
¦Скан-код¦ Клавиша ¦Скан-код¦ Клавиша ¦
+--------+-------------+--------+-------------¦
¦01h ¦ 1 ¦ Esc ¦2Bh ¦ 43¦ \ | ¦
¦02h ¦ 2 ¦ 1 ! ¦2Ch ¦ 44¦ Z ¦
¦03h ¦ 3 ¦ 2 @ ¦2Dh ¦ 45¦ X ¦
¦04h ¦ 4 ¦ 3 # ¦2Eh ¦ 46¦ C ¦
¦05h ¦ 5 ¦ 4 $ ¦2Fh ¦ 47¦ V ¦
¦06h ¦ 6 ¦ 5 % ¦30h ¦ 48¦ B ¦
¦07h ¦ 7 ¦ 6 ^ ¦31h ¦ 49¦ N ¦
¦08h ¦ 8 ¦ 7 & ¦32h ¦ 50¦ M ¦
¦09h ¦ 9 ¦ 8 * ¦33h ¦ 51¦ , < ¦
¦0Ah ¦ 10¦ 9 ( ¦34h ¦ 52¦ . > ¦
¦0Bh ¦ 11¦ 0 ) ¦35h ¦ 53¦ / ? ¦
¦0Ch ¦ 12¦ - _ ¦36h ¦ 54¦правый Shift ¦
¦0Dh ¦ 13¦ = + ¦37h ¦ 55¦ PrtSc * ¦
¦0Eh ¦ 14¦ BackSpace ¦38h ¦ 56¦ Alt ¦
¦0Fh ¦ 15¦ Tab ¦39h ¦ 57¦ пробел ¦
¦10h ¦ 16¦ Q ¦3Ah ¦ 58¦ CapsLock ¦
¦11h ¦ 17¦ W ¦3Bh ¦ 59¦ F1 ¦
¦12h ¦ 18¦ E ¦3Ch ¦ 60¦ F2 ¦
¦13h ¦ 19¦ R ¦3Dh ¦ 61¦ F3 ¦
¦14h ¦ 20¦ T ¦3Eh ¦ 62¦ F4 ¦
¦15h ¦ 21¦ Y ¦3Fh ¦ 63¦ F5 ¦
¦16h ¦ 22¦ U ¦40h ¦ 64¦ F6 ¦
¦17h ¦ 23¦ I ¦41h ¦ 65¦ F7 ¦
¦18h ¦ 24¦ O ¦42h ¦ 66¦ F8 ¦
¦19h ¦ 25¦ P ¦43h ¦ 67¦ F9 ¦
¦1Ah ¦ 26¦ [ { ¦44h ¦ 68¦ F10 ¦
¦1Bh ¦ 27¦ ] } ¦45h ¦ 69¦ NumLock ¦
¦1Ch ¦ 28¦ Enter ¦46h ¦ 70¦ ScrollLock ¦
¦1Dh ¦ 29¦ Ctrl ¦47h ¦ 71¦ Home [7] ¦
¦1Eh ¦ 30¦ A ¦48h ¦ 72¦стр. вверх[8]¦
¦1Fh ¦ 31¦ S ¦49h ¦ 73¦ PgUp [9] ¦
¦20h ¦ 32¦ D ¦4Ah ¦ 74¦ - ¦
¦21h ¦ 33¦ F ¦4Bh ¦ 75¦ <- [4] ¦
¦22h ¦ 34¦ G ¦4Ch ¦ 76¦ [5] ¦
¦23h ¦ 35¦ H ¦4Dh ¦ 77¦ -> [6] ¦
¦24h ¦ 36¦ J ¦4Eh ¦ 78¦ + ¦
¦25h ¦ 37¦ K ¦4Fh ¦ 79¦ End [1] ¦
¦26h ¦ 38¦ L ¦50h ¦ 80¦стр. вниз [2]¦
¦27h ¦ 39¦ ; : ¦51h ¦ 81¦ PgDn [3] ¦
¦28h ¦ 40¦ ' " ¦52h ¦ 82¦ Ins [0] ¦
¦29h ¦ 41¦ ` ~ ¦53h ¦ 83¦ Del [.] ¦
¦2Ah ¦ 42¦ левый Shift ¦54h ¦ 84¦ SysReq ¦
+---------------------------------------------+