Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:hardware:informations:keyboard-make-code

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
back2root:ibm-pc-ms-dos:hardware:informations:keyboard-make-code [2023/01/16 18:25] – supprimée - modification externe (Unknown date) 127.0.0.1back2root:ibm-pc-ms-dos:hardware:informations:keyboard-make-code [2024/04/06 20:45] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. frater
Ligne 1: Ligne 1:
 +====== INT 9 - Hardware Keyboard Make/Break Codes ======
  
 +===== Standard Keyboard =====
 +
 +^  Key          ^  Make  ^  Break  ^
 +| Backspace      0Eh    |  8Eh    |
 +| Caps Lock      3Ah    |  BAh    |
 +| Enter          1Ch    |  9Ch    |
 +| Esc            01h    |  81h    |
 +| Left Alt      |  38h    |  B8h    |
 +| Left Ctrl      1Dh    |  9Dh    |
 +| Left Shift    |  2Ah    |  AAh    |
 +| Num Lock      |  45h    |  C5h    |
 +| Right Shift    36h    |  B6h    |
 +| Scroll Lock    46h    |  C6h    |
 +| Space          39h    |  B9h    |
 +| Sys Req (AT)  |  54h    |  D4h    |
 +| Tab            0Fh    |  8Fh    |
 +
 +^  Key  ^  Make  ^  Break  ^
 +|  F1    3Bh    BBh    |
 +|  F2    3Ch    BCh    |
 +|  F3    3Dh    BDh    |
 +|  F4    3Eh    BEh    |
 +|  F7    41h    C1h    |
 +|  F5    3Fh    BFh    |
 +|  F6    40h    C0h    |
 +|  F8    42h    C2h    |
 +|  F9    43h    C3h    |
 +|  F10  |  44h    C4h    |
 +|  F11  |  57h    D7h    |
 +|  F12  |  58h    D8h    |
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^  Keypad    Keys          ^  Make  ^  Break  ^
 +| Keypad 0  | (Ins)          |  52h    D2h    |
 +| Keypad 1  | (End)          |  4Fh    CFh    |
 +| Keypad 2  | (Down arrow)    50h    D0h    |
 +| Keypad 3  | (PgDn)          51h    D1h    |
 +| Keypad 4  | (Left arrow)    4Bh    CBh    |
 +| Keypad 5  |                |  4Ch    CCh    |
 +| Keypad 6  | (Right arrow)  |  4Dh    CDh    |
 +| Keypad 7  | (Home)          47h    C7h    |
 +| Keypad 8  | (Up arrow)      48h    C8h    |
 +| Keypad 9  | (PgUp)          49h    C9h    |
 +| Keypad .  | (Del)          |  53h    D3h    |
 +| Keypad *  | (PrtSc)        |  37h    B7h    |
 +| Keypad -  |                |  4Ah    CAh    |
 +| Keypad +  |                |  4Eh    CEh    |
 +
 +
 +^  Key  ^  Make  ^  Break  ^
 +|  A    |  1Eh    9Eh    |
 +|  B    |  30h    B0h    |
 +|  C    |  2Eh    AEh    |
 +|  D    |  20h    A0h    |
 +|  E    |  12h    92h    |
 +|  F    |  21h    A1h    |
 +|  G    |  22h    A2h    |
 +|  H    |  23h    A3h    |
 +|  I    |  17h    97h    |
 +|  J    |  24h    A4h    |
 +|  K    |  25h    A5h    |
 +|  L    |  26h    A6h    |
 +|  M    |  32h    B2h    |
 +|  N    |  31h    B1h    |
 +|  O    |  18h    98h    |
 +|  P    |  19h    99h    |
 +|  Q    |  10h    90h    |
 +|  R    |  13h    93h    |
 +|  S    |  1Fh    9Fh    |
 +|  T    |  14h    94h    |
 +|  U    |  16h    96h    |
 +|  V    |  2Fh    AFh    |
 +|  W    |  11h    91h    |
 +|  X    |  2Dh    ADh    |
 +|  Y    |  15h    95h    |
 +|  Z    |  2Ch    ACh    |
 +
 +^  Key  ^  Make  ^  Break  ^
 +|  1    |  02h    82h    |
 +|  2    |  03h    83h    |
 +|  3    |  04h    84h    |
 +|  4    |  05h    85h    |
 +|  5    |  06h    86h    |
 +|  6    |  07h    87h    |
 +|  7    |  08h    88h    |
 +|  8    |  09h    89h    |
 +|  9    |  0Ah    8Ah    |
 +|  0    |  0Bh    8Bh    |
 +
 +
 +^  Key  ^  Make  ^  Break  ^
 +|  -    |  0Ch    8Ch    |
 +|  =    |  0Dh    8Dh    |
 +|  [    |  1Ah    9Ah    |
 +|  ]    |  1Bh    9Bh    |
 +|  ;    |  27h    A7h    |
 +|  '    |  28h    A8h    |
 +|  `    |  29h    A9h    |
 +|  \    |  2Bh    ABh    |
 +|  ,    |  33h    B3h    |
 +|  .    |  34h    B4h    |
 +|  /    |  35h    B5h    |
 +
 +
 +===== Enhanced Keyboard Keys (101/102 keys) =====
 +
 +^  Control Keys            ^  Make              ^  Break           ^
 +| Alt-PrtSc (SysReq)       | 54h                 | D4h               |
 +| Ctrl-PrtSc               | E0h 37h              | E0h B7h            |
 +| Enter                    | E0h 1Ch              | E0h 9Ch            |
 +| PrtSc                    | E0h 2Ah E0h 37h        | E0h B7h E0h AAh      |
 +| Right Alt                | E0h 38h              | E0h B8h            |
 +| Right Ctrl               | E0h 1Dh              | E0h 9Dh            |
 +| Shift-PrtSc              | E0h 37h              | E0h B7h            |
 +| /                        | E0h 35h              | E0h B5h            |
 +| Pause                    | E1h 1Dh 45h E1h 9Dh C5h  | (not typematic)  |
 +| Ctrl-Pause (Ctrl-Break)  | E0h 46h E0h C6h        | (not typematic)  |
 +
 +
 +<WRAP round box>
 +Keys marked as "not typematic" generate one stream of bytes without corresponding break scan code bytes (actually the break codes are part of the make code).
 +</WRAP>
 +
 +^              ^  Normal Mode or \\ Shift w/Numlock           |^                            ||
 +^  Key          Make                                Break  ^  Numlock on                ||
 +^              ^                                              Make        ^  Break       ^
 +| Del          | E0h 53h                               | E0h D3h   | E0h 2Ah E0h 53h  | E0h D3h E0h AAh  |
 +| Down arrow   | E0h 50h                               | E0h D0h   | E0h 2Ah E0h 50h  | E0h D0h E0h AAh  |
 +| End          | E0h 4Fh                               | E0h CFh   | E0h 2Ah E0h 4Fh  | E0h CFh E0h AAh  |
 +| Home         | E0h 47h                               | E0h C7h   | E0h 2Ah E0h 47h  | E0h C7h E0h AAh  |
 +| Ins          | E0h 52h                               | E0h D2h   | E0h 2Ah E0h 52h  | E0h D2h E0h AAh  |
 +| Left arrow   | E0h 4Bh                               | E0h CBh   | E0h 2Ah E0h 4Bh  | E0h CBh E0h AAh  |
 +| PgDn         | E0h 51h                               | E0h D1h   | E0h 2Ah E0h 51h  | E0h D1h E0h AAh  |
 +| PgUp         | E0h 49h                               | E0h C9h   | E0h 2Ah E0h 49h  | E0h C9h E0h AAh  |
 +| Right arrow  | E0h 4Dh                               | E0h CDh   | E0h 2Ah E0h 4Dh  | E0h CDh E0h AAh  |
 +| Up arrow     | E0h 48h                               | E0h C8h   | E0h 2Ah E0h 48h  | E0h C8h E0h AAh  |
 +
 +           
 +{{tablelayout?rowsHeaderSource=Auto}}
 +^ Key          ^  Left Shift Pressed                     ^^  Right Shift Pressed                    ^^
 +^              ^  Make                ^  Break            ^  Make                  Break           ^
 +| Del          | E0h AAh E0h 53h      |  E0h D3h E0h 2Ah  | E0h B6h E0h 53h       | E0h D3h E0h 36h  |
 +| Down arrow   | E0h AAh E0h 50h      |  E0h D0h E0h 2Ah  | E0h B6h E0h 50h       | E0h D0h E0h 36h  |
 +| End          | E0h AAh E0h 4Fh      |  E0h CFh E0h 2Ah  | E0h B6h E0h 4Fh       | E0h CFh E0h 36h  |
 +| Home         | E0h AAh E0h 47h      |  E0h C7h E0h 2Ah  | E0h B6h E0h 47h       | E0h C7h E0h 36h  |
 +| Ins          | E0h AAh E0h 52h      |  E0h D2h E0h 2Ah  | E0h B6h E0h 52h       | E0h D2h E0h 36h  |
 +| Left arrow   | E0h AAh E0h 4Bh      |  E0h CBh E0h 2Ah  | E0h B6h E0h 4Bh       | E0h CBh E0h 36h  |
 +| PgDn         | E0h AAh E0h 51h      |  E0h D1h E0h 2Ah  | E0h B6h E0h 51h       | E0h D1h E0h 36h  |
 +| PgUp         | E0h AAh E0h 49h      |  E0h C9h E0h 2Ah  | E0h B6h E0h 49h       | E0h C9h E0h 36h  |
 +| Right arrow  | E0h AAh E0h 4Dh      |  E0h CDh E0h 2Ah  | E0h B6h E0h 4Dh       | E0h CDh E0h 36h  |
 +| Up arrow     | E0h AAh E0h 48h      |  E0h C8h E0h 2Ah  | E0h B6h E0h 48h       | E0h C8h E0h 36h  |
 +| /            | E0h AAh E0h 35h      |  E0h B5h E0h 2Ah  | E0h B6h E0h 35h       | E0h B5h E0h 36h  |
 +
 +
 +<WRAP round box>
 +The PS/2 models have three make/break scan code sets. The first set matches the PC & XT make/break scan code set and is the one listed here. Scan code sets are selected by writing the value F0 to the keyboard via the [[back2root:ibm-pc-ms-dos:hardware:8042|8042]] (port 60h). The following is a brief description of the scan code sets (see the PS/2 Technical Reference manuals for more information on scan code sets 2 and 3):
 +
 +  * set 1, each key has a base scan code.  Some keys generate extra scan codes to generate artificial shift states. This is similar to the standard scan code set used on the PC and XT.
 +  * set 2, each key sends one make scan code and two break scan codes bytes (F0 followed by the make code). This scan code set is available on the IBM AT also.
 +  * set 3, each key sends one make scan code and two break scan codes bytes (F0 followed by the make code) and no keys are altered by Shift/Alt/Ctrl keys.
 +  * typematic scan codes are the same as the make scan code
 +
 +Some Tandy 1000's do not handle Alt key combinations when multiple shift keys are pressed. The Alt-Shift-H combination loses the Alt.
 +
 +extended keys like (F11, F12) can only be read with systems that have extended keyboard BIOS support (or [[back2root:ibm-pc-ms-dos:interrupts:int_09:start|INT 9]] extensions); to read these special keys on these systems [[back2root:ibm-pc-ms-dos:interrupts:int_16_10|INT 16,10]] must be used
 +</WRAP>
 +
 +see [[back2root:ibm-pc-ms-dos:hardware:informations:keyboard-scan-code|SCAN CODES]]    [[back2root:ibm-pc-ms-dos:hardware:informations:kb_flags|KB FLAGS]]