HelpPC 2.10 Quick Reference Utility Copyright 1991 David Jurgens

                  INT 9 - Hardware Keyboard Make/Break Codes

       Key          Make  Break                Key    Make  Break

       Backspace     0E    8E                  F1      3B    BB
       Caps Lock     3A    BA                  F2      3C    BC
       Enter         1C    9C                  F3      3D    BD
       Esc           01    81                  F4      3E    BE
       Left Alt      38    B8                  F7      41    C1
       Left Ctrl     1D    9D                  F5      3F    BF
       Left Shift    2A    AA                  F6      40    C0
       Num Lock      45    C5                  F8      42    C2
       Right Shift   36    B6                  F9      43    C3
       Scroll Lock   46    C6                  F10     44    C4
       Space         39    B9                  F11     57    D7
       Sys Req (AT)  54    D4                  F12     58    D8
       Tab           0F    8F

                   Keypad Keys                Make   Break

                   Keypad 0  (Ins)             52      D2
                   Keypad 1  (End)             4F      CF
                   Keypad 2  (Down arrow)      50      D0
                   Keypad 3  (PgDn)            51      D1
                   Keypad 4  (Left arrow)      4B      CB
                   Keypad 5                    4C      CC
                   Keypad 6  (Right arrow)     4D      CD
                   Keypad 7  (Home)            47      C7
                   Keypad 8  (Up arrow)        48      C8
                   Keypad 9  (PgUp)            49      C9
                   Keypad .  (Del)             53      D3
                   Keypad *  (PrtSc)           37      B7
                   Keypad -                    4A      CA
                   Keypad +                    4E      CE

              Key    Make  Break              Key    Make  Break

               A      1E    9E                 N      31    B1
               B      30    B0                 O      18    98
               C      2E    AE                 P      19    99
               D      20    A0                 Q      10    90
               E      12    92                 R      13    93
               F      21    A1                 S      1F    9F
               G      22    A2                 T      14    94
               H      23    A3                 U      16    96
               I      17    97                 V      2F    AF
               J      24    A4                 W      11    91
               K      25    A5                 X      2D    AD
               L      26    A6                 Y      15    95
               M      32    B2                 Z      2C    AC

              Key    Make  Break              Key    Make  Break

               1      02    82                 -      0C    8C
               2      03    83                 =      0D    8D
               3      04    84                 [      1A    9A
               4      05    85                 ]      1B    9B
               5      06    86                 ;      27    A7
               6      07    87                 '      28    A8
               7      08    88                 `      29    A9
               8      09    89                 \      2B    AB
               9      0A    8A                 ,      33    B3
               0      0B    8B                 .      34    B4
                                               /      35    B5

                    Enhanced Keyboard Keys (101/102 keys)

       Control Keys              Make            Break

       Alt-PrtSc (SysReq)        54              D4
       Ctrl-PrtSc                E0 37           E0 B7
       Enter                     E0 1C           E0 9C
       PrtSc                     E0 2A E0 37     E0 B7 E0 AA
       Right Alt                 E0 38           E0 B8
       Right Ctrl                E0 1D           E0 9D
       Shift-PrtSc               E0 37           E0 B7
       /                         E0 35           E0 B5
       Pause                     E1 1D 45 E1 9D C5  (not typematic)
       Ctrl-Pause (Ctrl-Break)   E0 46 E0 C6        (not typematic)

       - 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).


                       Normal Mode or
                       Shift w/Numlock
       Key              Make    Break     ┌───── Numlock on ──────┐
                                             Make          Break
       Del              E0 53   E0 D3     E0 2A E0 53   E0 D3 E0 AA
       Down arrow       E0 50   E0 D0     E0 2A E0 50   E0 D0 E0 AA
       End              E0 4F   E0 CF     E0 2A E0 4F   E0 CF E0 AA
       Home             E0 47   E0 C7     E0 2A E0 47   E0 C7 E0 AA
       Ins              E0 52   E0 D2     E0 2A E0 52   E0 D2 E0 AA
       Left arrow       E0 4B   E0 CB     E0 2A E0 4B   E0 CB E0 AA
       PgDn             E0 51   E0 D1     E0 2A E0 51   E0 D1 E0 AA
       PgUp             E0 49   E0 C9     E0 2A E0 49   E0 C9 E0 AA
       Right arrow      E0 4D   E0 CD     E0 2A E0 4D   E0 CD E0 AA
       Up arrow         E0 48   E0 C8     E0 2A E0 48   E0 C8 E0 AA

       Key           ┌──Left Shift Pressed──┐    ┌──Right Shift Pressed──┐
                        Make          Break          Make          Break
       Del           E0 AA E0 53   E0 D3 E0 2A    E0 B6 E0 53   E0 D3 E0 36
       Down arrow    E0 AA E0 50   E0 D0 E0 2A    E0 B6 E0 50   E0 D0 E0 36
       End           E0 AA E0 4F   E0 CF E0 2A    E0 B6 E0 4F   E0 CF E0 36
       Home          E0 AA E0 47   E0 C7 E0 2A    E0 B6 E0 47   E0 C7 E0 36
       Ins           E0 AA E0 52   E0 D2 E0 2A    E0 B6 E0 52   E0 D2 E0 36
       Left arrow    E0 AA E0 4B   E0 CB E0 2A    E0 B6 E0 4B   E0 CB E0 36
       PgDn          E0 AA E0 51   E0 D1 E0 2A    E0 B6 E0 51   E0 D1 E0 36
       PgUp          E0 AA E0 49   E0 C9 E0 2A    E0 B6 E0 49   E0 C9 E0 36
       Right arrow   E0 AA E0 4D   E0 CD E0 2A    E0 B6 E0 4D   E0 CD E0 36
       Up arrow      E0 AA E0 48   E0 C8 E0 2A    E0 B6 E0 48   E0 C8 E0 36
       /             E0 AA E0 35   E0 B5 E0 2A    E0 B6 E0 35   E0 B5 E0 36


       - 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 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 INT 9 extensions);  to
         read these special keys on these systems INT 16,10 must be used

         - see  SCAN CODES   KB FLAGS  KEYBOARD COMMANDS

Esc or Alt-X to exit make codes Home/PgUp/PgDn/End ←↑↓→