Advertisement
flyingfisch

keyboard.hpp

May 14th, 2012
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.58 KB | None | 0 0
  1. // syscalls are defined in syscall.hpp and syscall.cpp
  2. // this file is used for derived functions
  3.  
  4. #ifndef __KEYBOARD_HPP__
  5. #define __KEYBOARD_HPP__
  6.  
  7. // Character codes
  8. #define KEY_CHAR_0          0x30
  9. #define KEY_CHAR_1          0x31
  10. #define KEY_CHAR_2          0x32
  11. #define KEY_CHAR_3          0x33
  12. #define KEY_CHAR_4          0x34
  13. #define KEY_CHAR_5          0x35
  14. #define KEY_CHAR_6          0x36
  15. #define KEY_CHAR_7          0x37
  16. #define KEY_CHAR_8          0x38
  17. #define KEY_CHAR_9          0x39
  18. #define KEY_CHAR_DP         0x2e
  19. #define KEY_CHAR_EXP        0x0f
  20. #define KEY_CHAR_PMINUS     0x87
  21. #define KEY_CHAR_PLUS       0x89
  22. #define KEY_CHAR_MINUS      0x99
  23. #define KEY_CHAR_MULT       0xa9
  24. #define KEY_CHAR_DIV        0xb9
  25. #define KEY_CHAR_FRAC       0xbb
  26. #define KEY_CHAR_LPAR       0x28
  27. #define KEY_CHAR_RPAR       0x29
  28. #define KEY_CHAR_COMMA      0x2c
  29. #define KEY_CHAR_STORE      0x0e
  30. #define KEY_CHAR_LOG        0x95
  31. #define KEY_CHAR_LN         0x85
  32. #define KEY_CHAR_SIN        0x81
  33. #define KEY_CHAR_COS        0x82
  34. #define KEY_CHAR_TAN        0x83
  35. #define KEY_CHAR_SQUARE     0x8b
  36. #define KEY_CHAR_POW        0xa8
  37. #define KEY_CHAR_IMGNRY     0x7f50
  38. #define KEY_CHAR_LIST       0x7f51
  39. #define KEY_CHAR_MAT        0x7f40
  40. #define KEY_CHAR_EQUAL      0x3d
  41. #define KEY_CHAR_PI         0xd0
  42. #define KEY_CHAR_ANS        0xc0
  43. #define KEY_CHAR_LBRCKT     0x5b
  44. #define KEY_CHAR_RBRCKT     0x5d
  45. #define KEY_CHAR_LBRACE     0x7b
  46. #define KEY_CHAR_RBRACE     0x7d
  47. #define KEY_CHAR_CR         0x0d
  48. #define KEY_CHAR_CUBEROOT   0x96
  49. #define KEY_CHAR_RECIP      0x9b
  50. #define KEY_CHAR_ANGLE      0x7f54
  51. #define KEY_CHAR_EXPN10     0xb5
  52. #define KEY_CHAR_EXPN       0xa5
  53. #define KEY_CHAR_ASIN       0x91
  54. #define KEY_CHAR_ACOS       0x92
  55. #define KEY_CHAR_ATAN       0x93
  56. #define KEY_CHAR_ROOT       0x86
  57. #define KEY_CHAR_POWROOT    0xb8
  58. #define KEY_CHAR_SPACE      0x20
  59. #define KEY_CHAR_DQUATE     0x22
  60. #define KEY_CHAR_VALR       0xcd
  61. #define KEY_CHAR_THETA      0xce
  62. #define KEY_CHAR_A          0x41
  63. #define KEY_CHAR_B          0x42
  64. #define KEY_CHAR_C          0x43
  65. #define KEY_CHAR_D          0x44
  66. #define KEY_CHAR_E          0x45
  67. #define KEY_CHAR_F          0x46
  68. #define KEY_CHAR_G          0x47
  69. #define KEY_CHAR_H          0x48
  70. #define KEY_CHAR_I          0x49
  71. #define KEY_CHAR_J          0x4a
  72. #define KEY_CHAR_K          0x4b
  73. #define KEY_CHAR_L          0x4c
  74. #define KEY_CHAR_M          0x4d
  75. #define KEY_CHAR_N          0x4e
  76. #define KEY_CHAR_O          0x4f
  77. #define KEY_CHAR_P          0x50
  78. #define KEY_CHAR_Q          0x51
  79. #define KEY_CHAR_R          0x52
  80. #define KEY_CHAR_S          0x53
  81. #define KEY_CHAR_T          0x54
  82. #define KEY_CHAR_U          0x55
  83. #define KEY_CHAR_V          0x56
  84. #define KEY_CHAR_W          0x57
  85. #define KEY_CHAR_X          0x58
  86. #define KEY_CHAR_Y          0x59
  87. #define KEY_CHAR_Z          0x5a
  88.  
  89.  
  90. // Control codes
  91. #define KEY_CTRL_NOP        0
  92. #define KEY_CTRL_EXE        30004
  93. #define KEY_CTRL_DEL        30025
  94. #define KEY_CTRL_AC         30015
  95. #define KEY_CTRL_FD         30046
  96. #define KEY_CTRL_XTT        30001
  97. #define KEY_CTRL_EXIT       30002
  98. #define KEY_CTRL_SHIFT      30006
  99. #define KEY_CTRL_ALPHA      30007
  100. #define KEY_CTRL_OPTN       30008
  101. #define KEY_CTRL_VARS       30016
  102. #define KEY_CTRL_UP         30018
  103. #define KEY_CTRL_DOWN       30023
  104. #define KEY_CTRL_LEFT       30020
  105. #define KEY_CTRL_RIGHT      30021
  106. #define KEY_CTRL_F1         30009
  107. #define KEY_CTRL_F2         30010
  108. #define KEY_CTRL_F3         30011
  109. #define KEY_CTRL_F4         30012
  110. #define KEY_CTRL_F5         30013
  111. #define KEY_CTRL_F6         30014
  112. #define KEY_CTRL_CATALOG    30100
  113. #define KEY_CTRL_CAPTURE    30055
  114. #define KEY_CTRL_CLIP       30050
  115. #define KEY_CTRL_PASTE      30036
  116. #define KEY_CTRL_INS        30033
  117. #define KEY_CTRL_MIXEDFRAC  30054
  118. #define KEY_CTRL_FRACCNVRT  30026
  119. #define KEY_CTRL_QUIT       30029
  120. #define KEY_CTRL_PRGM       30028
  121. #define KEY_CTRL_SETUP      30037
  122. #define KEY_CTRL_PAGEUP     30052
  123. #define KEY_CTRL_PAGEDOWN   30053
  124. #define KEY_CTRL_MENU       30003
  125. #define KEY_CTRL_RESERVE1   30060
  126. #define KEY_CTRL_RESERVE2   30061
  127. #define KEY_CTRL_RESERVE3   30062
  128.  
  129. // KEY_CTRL_XTT 0x7531 (30001) 
  130. // KEY_CTRL_EXIT    0x7532 (30002) 
  131. // KEY_CTRL_MENU        0x7533 (30003) 
  132. // KEY_CTRL_EXE 0x7534 (30004) 
  133. // KEY_CTRL_SHIFT   0x7536 (30006) 
  134. // KEY_CTRL_ALPHA   0x7537 (30007) 
  135. // KEY_CTRL_OPTN        0x7538 (30008) 
  136. // KEY_CTRL_F1          0x7539 (30009) 
  137. // KEY_CTRL_F2          0x753A (30010) 
  138. // KEY_CTRL_F3          0x753B (30011) 
  139. // KEY_CTRL_F4          0x753C (30012) 
  140. // KEY_CTRL_F5          0x753D (30013) 
  141. // KEY_CTRL_F6          0x753E (30014) 
  142. // KEY_CTRL_AC  0x753F (30015) 
  143. // KEY_CTRL_VARS        0x7540 (30016) 
  144. // KEY_CTRL_UP          0x7542 (30018) 
  145. // KEY_CTRL_LEFT        0x7544 (30020) 
  146. // KEY_CTRL_RIGHT       0x7545 (30021) 
  147. // KEY_CTRL_DOWN        0x7547 (30023) 
  148. // KEY_CTRL_DEL 0x7549 (30025) 
  149. // KEY_CTRL_FRACCNVRT   0x754A (30026) 
  150. // KEY_CTRL_PRGM        0x754C (30028) 
  151. // KEY_CTRL_QUIT        0x754D (30029) 
  152. // KEY_CTRL_INS         0x7551 (30033) 
  153. // KEY_CTRL_PASTE       0x7554 (30036) 
  154. // KEY_CTRL_SETUP       0x7555 (30037) 
  155. // KEY_CTRL_FD  0x755E (30046) 
  156. // KEY_CTRL_CLIP        0x7562 (30050) 
  157. // KEY_CTRL_PAGEUP      0x7564 (30052) 
  158. // KEY_CTRL_PAGEDOWN    0x7565 (30053) 
  159. // KEY_CTRL_MIXEDFRAC   0x7566 (30054) 
  160. // KEY_CTRL_CAPTURE     0x7567 (30055) 
  161. // KEY_CTRL_RESERVE1    0x756C (30060) 
  162. // KEY_CTRL_RESERVE2    0x756D (30061) 
  163. // KEY_CTRL_RESERVE3    0x756E (30062) 
  164. // KEY_CTRL_CATALOG     0x7594 (30100) 
  165.  
  166. #define KEY_PRGM_ACON 10
  167. #define KEY_PRGM_DOWN 37
  168. #define KEY_PRGM_EXIT 47
  169. #define KEY_PRGM_F1 79
  170. #define KEY_PRGM_F2 69
  171. #define KEY_PRGM_F3 59
  172. #define KEY_PRGM_F4 49
  173. #define KEY_PRGM_F5 39
  174. #define KEY_PRGM_F6 29
  175. #define KEY_PRGM_LEFT 38
  176. #define KEY_PRGM_NONE 0
  177. #define KEY_PRGM_RETURN 31
  178. #define KEY_PRGM_RIGHT 27
  179. #define KEY_PRGM_UP 28
  180. #define KEY_PRGM_1 72
  181. #define KEY_PRGM_2 62
  182. #define KEY_PRGM_3 52
  183. #define KEY_PRGM_4 73
  184. #define KEY_PRGM_5 63
  185. #define KEY_PRGM_6 53
  186. #define KEY_PRGM_7 74
  187. #define KEY_PRGM_8 64
  188. #define KEY_PRGM_9 54
  189. #define KEY_PRGM_A 76
  190. #define KEY_PRGM_F 26
  191. #define KEY_PRGM_ALPHA 77
  192. #define KEY_PRGM_SHIFT 78
  193. #define KEY_PRGM_MENU 48
  194.  
  195. // in Bkey_GetKeyWait function
  196. #define KEYWAIT_HALTON_TIMEROFF     0
  197. #define KEYWAIT_HALTOFF_TIMEROFF    1
  198. #define KEYWAIT_HALTON_TIMERON      2
  199.  
  200. #define KEYREP_NOEVENT              0
  201. #define KEYREP_KEYEVENT             1
  202. #define KEYREP_TIMEREVENT           2
  203.  
  204. void MapMatrixToKeyCode( int, int, unsigned int* );
  205. void MapKeyToMatrixCode( unsigned int, int*, int* );
  206. int Keyboard_GetKeyWait( unsigned int*, int, int );
  207. void checkformenu( int );
  208. int KeyPressed( void );
  209. int WaitKeyPressed( void );
  210. void WaitFor( unsigned int );
  211. void Wait( void );
  212. int HexFilter( int );
  213. int CheckKeyRow( int );
  214. int PRGM_GetKey();
  215.  
  216. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement