KEYBOARD.INC (4750B)
1 ; 2 ; Copyright 2020 Electronic Arts Inc. 3 ; 4 ; TiberianDawn.DLL and RedAlert.dll and corresponding source code is free 5 ; software: you can redistribute it and/or modify it under the terms of 6 ; the GNU General Public License as published by the Free Software Foundation, 7 ; either version 3 of the License, or (at your option) any later version. 8 9 ; TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed 10 ; in the hope that it will be useful, but with permitted additional restrictions 11 ; under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT 12 ; distributed with this program. You should have received a copy of the 13 ; GNU General Public License along with permitted additional restrictions 14 ; with this program. If not, see [https://github.com/electronicarts/CnC_Remastered_Collection]>. 15 16 ;*************************************************************************** 17 ;** C O N F I D E N T I A L --- W E S T W O O D A S S O C I A T E S ** 18 ;*************************************************************************** 19 ;* * 20 ;* Project Name : Westwood 32 bit Library * 21 ;* * 22 ;* File Name : KEYBOARD.INC * 23 ;* * 24 ;* Programmer : Phil W. Gorrow * 25 ;* * 26 ;* Start Date : July 12, 1994 * 27 ;* * 28 ;* Last Update : July 12, 1994 [PWG] * 29 ;* * 30 ;*-------------------------------------------------------------------------* 31 ;* Contains all the defines used by the keyboard interrupt for assembly * 32 ;* includes. * 33 ;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 34 35 TRUE EQU 1 ; numerical true 36 FALSE EQU 0 ; numerical false 37 DEBUG EQU 1 38 39 MAX_X_PIXEL EQU 319 40 MAX_Y_PIXEL EQU 199 41 42 43 KN_RESERVED1 EQU 14 44 KN_RESERVED2 EQU 45 45 KN_RESERVED3 EQU 56 46 47 48 ; these two are reserved for AMIGA open and close. 49 KN_LCOMM EQU 59 50 KN_RCOMM EQU 63 51 52 KN_LMOUSE EQU 65 53 KN_RMOUSE EQU 66 54 KN_JBUTTON1 EQU 67 55 KN_JBUTTON2 EQU 68 56 KN_J_UP EQU 69 57 KN_J_RIGHT EQU 70 58 KN_J_DOWN EQU 71 59 KN_J_LEFT EQU 72 60 61 KN_LEFT EQU 92 62 KN_UPLEFT EQU 91 63 KN_UP EQU 96 64 KN_UPRIGHT EQU 101 65 KN_RIGHT EQU 102 66 KN_DOWNRIGHT EQU 103 67 KN_DOWN EQU 98 68 KN_DOWNLEFT EQU 93 69 KN_CENTER EQU 97 70 71 KN_INSERT EQU 99 72 KN_DELETE EQU 104 73 74 KN_RETURN EQU 43 75 KN_SPACE EQU 61 76 KN_KEYPAD_RETURN EQU 108 77 78 79 ; these two are reserved for AMIGA K left and right paren 80 KN_KLPAREN EQU 87 81 KN_KRPAREN EQU 88 82 83 84 KN_NUMLOCK EQU 90 85 86 KN_SCROLLOCK EQU 125 ; key ignored by the logging system 87 88 KN_MOUSE_MOVE EQU 45 ; Indicate a mouse move (for playback of logged data) 89 90 ; ---------------------------------------------------------------- 91 ; flags used in Keyflags to customize keystroke interrupt. 92 93 REPEATON EQU 0001H ; 1:all makes into buffer, 0:only 1st make 94 TRACKEXT EQU 0002H ; 1:Home != keypad Home, 0:Home=keypad Home 95 FILTERONLY EQU 0004H ; 1:Normal BIOS operation with filter 96 CTRLSON EQU 0008H ; 1:pass scroll lock sequence into BIOS 97 CTRLALTTURBO EQU 0010H ; 1:Allow turbo up and down in application 98 CTRLCON EQU 0020H ; 1:pass stop code to BIOS 99 SCROLLLOCKON EQU 0040H ; 1:pass scroll lock key into BIOS 100 PAUSEON EQU 0080H ; 1:pass the pause key and seq to BIOS 101 BREAKON EQU 0100H ; 1:pass the ctrl break seq to BIOS 102 NONUMLOCK EQU 0200H ; 1:do NOT remap keypad to numbers 103 TASKSWITCHABLE EQU 0400H ; 1:allows task switching keys thru ALT-TAB, 104 ; ALT-ESC,CTRL-ESC 105 PASSBREAKS EQU 0800H ; 1:Pass all break codes to keyboard buffer. 106 KEYMOUSE EQU 1000H ; 1:Numeric keypad moves mouse 107 SIMLBUTTON EQU 2000H ; 1:have space and enter keys simulate Left 108 DEBUGINT EQU 4000H ; mouse button when KEYMOUSE is set 109 110 111 SHIFTPRESS EQU 001H ; bit 0 for shift key pressed 112 CTRLPRESS EQU 002H ; bit 1 for ctrl key pressed 113 ALTPRESS EQU 004H ; bit 2 for alt key pressed 114 KEYRELEASE EQU 008H ; bit 3 for key released 115 NOTKEYRELEASE EQU 0F7H ; not of key released 116 117 CAPSLOCK EQU 00001H ; bit 0 for caps locked 118 NUMLOCK EQU 00002H ; bit 1 for num locked 119 120 121 122 CLEARISR EQU 020H ; value to clear In Service Register 123 DOS EQU 021H 124 INTCHIP0 EQU 020H ; 8259 interrupt chip controller 0 125 KEYCTRL EQU 061H ; control bits for KB sense data 126 KEYDATA EQU 060H ; keyboard scan code port