leeda@frith.egr.msu.edu (Dae Hee Lee) (03/19/91)
Could you help me looking for any public utility to show key scan codes from int 9, not from int 16h? Thank you for your help again. Daehee Lee
markh@csd4.csd.uwm.edu (Mark William Hopkins) (03/29/91)
In article <1991Mar18.173205.21380@msuinfo.cl.msu.edu> leeda@frith.egr.msu.edu (Dae Hee Lee) writes: >Could you help me looking for any public utility to show key scan codes from >int 9, not from int 16h? A MAKE code is a keyboard scan code generated when a key is pressed down, a BREAK code when the key is released. If memory serves me correct they are: (1) For the PCJr: the same as the PC XT owing to some extensive pre-processing in software (INT 02 and INT 48 hex) before iNT 09. (2) For the PC XT (MAKE codes): (it's obvious why it's easy to remember) 01 hex to 0e hex: Esc 1 2 3 4 5 6 7 8 9 0 - = Backspace 0f hex to 1c hex: Tab Q W E R T Y U I O P [ ] Enter 1d hex to 29 hex: Ctrl A S D F G H J K L ; ' ` 2a hex to 36 hex: Left-Shift \ Z X C V B N M , . / Right-Shift 37 hex to 3a hex: Print-Screen Alt Spacebar Caps-Lock 3b hex to 44 hex: F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Numeric keypad (45 hex to 53 hex left-to-right, top-to-bottom): Num-Lock Scroll-Lock Home Up-Arrow Pg-Up - Left-Arrow 5 Right-Arrow + End Down-Arrow Pg-Dn Ins Del All BREAK codes = corresponding MAKE code + 80 hex. (3) For the PC AT (MAKE codes): The same as for the PC XT with the addition of 54 hex: Sys-Req. BREAK CODES consist of two bytes: f0 hex following by the corresponding MAKE code. (4) PS/2's can be configured to one of 3 sets. Set #2 is the system default, but BIOS initializes it to set #1 during startup. In set 1 BREAK code = PC XT's MAKE code + 80 hex. MAKE code = XT's MAKE code, Except (1) Print-Screen is (I think) E0 hex, 2A hex for MAKE and E0, 37 for BREAK. (2) Addition of new keys Editing and Cursor Keypads: Home: E0, 47 Up Arrow: E0, 48 Page Up: E0, 49 Left Arrow: E0, 4B Right Arrow: E0, 4D End: E0, 4F Down Arrow: E0, 50 Page Down: E0, 51 Insert: E0, 52 Delete: E0, 53 New PS/2 keys: Keypad Enter: E0, 1C Right Ctrl: E0, 1D Keypad /: E0, 35 Right Alt: E0, 38 Pause: E1, 1D, 45, E1, 9D, C5 F11: 57 F12: 58 Their break keys you get by adding 80 hex to the appropriate byte, except that Pause has no break code (since it's never used as a repeat key).