KEYBOARD.INC 4.5 KB

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