config.cpp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. #include "stdafx.h"
  2. #include "config.h"
  3. #define ELEM_COUNT(a) (sizeof(a)/sizeof(a[0]))
  4. //0类
  5. LPCTSTR AlphaTable1[] = {
  6. // 0 1 2 3 4 5 6 7 8 9
  7. _T("q"), _T("w"), _T("e"), _T("r"), _T("t"), _T("y"), _T("u"), _T("i"), _T("o"), _T("p"),
  8. // 10 11 12 13 14 15 16 17 18
  9. _T("a"), _T("s"), _T("d"), _T("f"), _T("g"), _T("h"), _T("j"), _T("k"), _T("l"),
  10. // 19 20 21 22 23 24 25
  11. _T("z"), _T("x"), _T("c"), _T("v"), _T("b"), _T("n"), _T("m"),
  12. // 26
  13. _T("pau")
  14. };
  15. LPCTSTR AlphaTable2[] = {
  16. _T("Q"),_T("W"),_T("E"),_T("R"),_T("T"),_T("Y"),_T("U"),_T("I"),_T("O"),_T("P"),
  17. _T("A"), _T("S"), _T("D"), _T("F"), _T("G"), _T("H"), _T("J"), _T("K"), _T("L"),
  18. _T("Z"), _T("X"), _T("C"), _T("V"), _T("B"), _T("N"), _T("M"),
  19. _T("brk")
  20. };
  21. const int AlphaTableSize = ELEM_COUNT(AlphaTable1); //27
  22. //1类
  23. LPCTSTR SymbolTable1[] = {
  24. // 0 1 2 3 4 5 6 7 8 9 10 11 12
  25. _T("`"), _T("1"), _T("2"), _T("3"), _T("4"), _T("5"), _T("6"), _T("7"), _T("8"), _T("9"), _T("0"), _T("-"), _T("="),
  26. // 13 14 15
  27. _T("["), _T("]"), _T("\\"),
  28. // 16 17
  29. _T(";"), _T("'"),
  30. // 18 19 20
  31. _T(","), _T("."), _T("/")
  32. };
  33. LPCTSTR SymbolTable2[] = {
  34. _T("~"), _T("!"), _T("@"), _T("#"), _T("$"), _T("%"), _T("^"), _T("&"), _T("*"), _T("("), _T(")"), _T("-"), _T("+"),
  35. _T("{"), _T("}"), _T("|"),
  36. _T(":"), _T("\""),
  37. _T("<"), _T(">"), _T("?")
  38. };
  39. const int SymbolTableSize = ELEM_COUNT(SymbolTable1); //21
  40. //2类
  41. LPCTSTR NumPadTable1[] = {
  42. _T("7"), _T("8"), _T("9"),
  43. _T("4"), _T("5"), _T("6"),
  44. _T("1"), _T("2"), _T("3"),
  45. _T("0"), _T(".")
  46. };
  47. LPCTSTR NumPadTable2[] = {
  48. _T("hm"), _T("↑"), _T("pup"),
  49. _T("←"), _T(" "), _T("→"),
  50. _T("end"), _T("↓"), _T("pdn"),
  51. _T("ins"), _T("del")
  52. };
  53. const int NumPadTableSize = ELEM_COUNT(NumPadTable1); //11
  54. //3类
  55. LPCTSTR MainTable[] = {
  56. // 0 1 2 3 4
  57. _T("lock"), _T("shift"), _T("ctrl"), _T("win"), _T("alt"),
  58. // 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
  59. _T("esc"), _T("F1"), _T("F2"), _T("F3"), _T("F4"), _T("F5"), _T("F6"), _T("F7"), _T("F8"), _T("F9"), _T("F10"), _T("F11"), _T("F12"), _T("psc"), _T("slk"),
  60. // 20 21 22 23
  61. _T("backspace"), _T("ins"), _T("hm"), _T("pup"),
  62. // 24 25 26 27
  63. _T("tab"), _T("del"), _T("end"), _T("pdn"),
  64. // 28 29 30 31 32 33 34
  65. _T("enter"), _T("↑"), _T("←"), _T("↓"), _T("→"), _T(" "), _T("menu")
  66. };
  67. const int MainTableSize = ELEM_COUNT(MainTable); //35
  68. //4类
  69. LPCTSTR HelpTable[] = {
  70. // 0 1 2 3 4 5
  71. _T("nlk"), _T("/"), _T("*"), _T("-"), _T("+"), _T("enter")
  72. };
  73. const int HelpTableSize = ELEM_COUNT(HelpTable); //6
  74. KeyConfig kcs[] = {
  75. //3,5,{1,1,9,9},VK_ESCAPE,
  76. //3,6,{19,1,27,9},VK_F1,
  77. //3,7,{28,1,36,9},VK_F2,
  78. //3,8,{37,1,45,9},VK_F3,
  79. //3,9,{46,1,54,9},VK_F4,
  80. //3,10,{60,1,68,9},VK_F5,
  81. //3,11,{69,1,77,9},VK_F6,
  82. //3,12,{78,1,86,9},VK_F7,
  83. //3,13,{87,1,95,9},VK_F8,
  84. //3,14,{101,1,109,9},VK_F9,
  85. //3,15,{110,1,118,9},VK_F10,
  86. //3,16,{119,1,127,9},VK_F11,
  87. //3,17,{128,1,136,9},VK_F12,
  88. //3,18,{137,1,145,9},VK_SNAPSHOT,
  89. //3,19,{146,1,154,9},VK_SCROLL,
  90. //0,26,{155,1,163,9},VK_PAUSE,
  91. 1, 0, { 1, 1, 11, 9 }, 0xC0,
  92. 1, 1, { 12, 1, 22, 9 }, '1',
  93. 1, 2, { 23, 1, 33, 9 }, '2',
  94. 1, 3, { 34, 1, 44, 9 }, '3',
  95. 1, 4, { 45, 1, 55, 9 }, '4',
  96. 1, 5, { 56, 1, 66, 9 }, '5',
  97. 1, 6, { 67, 1, 77, 9 }, '6',
  98. 1, 7, { 78, 1, 88, 9 }, '7',
  99. 1, 8, { 89, 1, 99, 9 }, '8',
  100. 1, 9, { 100, 1, 110, 9 }, '9',
  101. 1, 10, { 111, 1, 121, 9 }, '0',
  102. 1, 11, { 122, 1, 132, 9 }, 0xBD,
  103. 1, 12, { 133, 1, 143, 9 }, 0xBB,
  104. 3, 20, { 144, 1, 162, 9 }, VK_BACK,
  105. //3,21,{137,10,145,18},VK_INSERT,
  106. //3,22,{146,10,154,18},VK_HOME,
  107. //3,23,{155,10,163,18},VK_PRIOR,
  108. 3, 24, { 1, 10, 14, 18 }, VK_TAB,
  109. 0, 0, { 15, 10, 25, 18 }, 'Q',
  110. 0, 1, { 26, 10, 36, 18 }, 'W',
  111. 0, 2, { 37, 10, 47, 18 }, 'E',
  112. 0, 3, { 48, 10, 58, 18 }, 'R',
  113. 0, 4, { 59, 10, 69, 18 }, 'T',
  114. 0, 5, { 70, 10, 80, 18 }, 'Y',
  115. 0, 6, { 81, 10, 91, 18 }, 'U',
  116. 0, 7, { 92, 10, 102, 18 }, 'I',
  117. 0, 8, { 103, 10, 113, 18 }, 'O',
  118. 0, 9, { 114, 10, 124, 18 }, 'P',
  119. 1, 13, { 125, 10, 135, 18 }, 0xDB,
  120. 1, 14, { 136, 10, 146, 18 }, 0xDD,
  121. 1, 15, { 147, 10, 162, 18 }, 0xDC,
  122. //3,25,{137,19,145,27},VK_DELETE,
  123. //3,26,{146,19,154,27},VK_END,
  124. //3,27,{155,19,163,27},VK_NEXT,
  125. 3, 0, { 1, 19, 18, 27 }, VK_CAPITAL,
  126. 0, 10, { 19, 19, 29, 27 }, 'A',
  127. 0, 11, { 30, 19, 40, 27 }, 'S',
  128. 0, 12, { 41, 19, 51, 27 }, 'D',
  129. 0, 13, { 52, 19, 62, 27 }, 'F',
  130. 0, 14, { 63, 19, 73, 27 }, 'G',
  131. 0, 15, { 74, 19, 84, 27 }, 'H',
  132. 0, 16, { 85, 19, 95, 27 }, 'J',
  133. 0, 17, { 96, 19, 106, 27 }, 'K',
  134. 0, 18, { 107, 19, 117, 27 }, 'L',
  135. 1, 16, { 118, 19, 128, 27 }, 0xBA,
  136. 1, 17, { 129, 19, 139, 27 }, 0xDE,
  137. 3, 28, { 140, 19, 162, 27 }, VK_RETURN,
  138. 3, 1, { 1, 28, 25, 36 }, VK_LSHIFT,
  139. 0, 19, { 26, 28, 36, 36 }, 'Z',
  140. 0, 20, { 37, 28, 47, 36 }, 'X',
  141. 0, 21, { 48, 28, 58, 36 }, 'C',
  142. 0, 22, { 59, 28, 69, 36 }, 'V',
  143. 0, 23, { 70, 28, 80, 36 }, 'B',
  144. 0, 24, { 81, 28, 91, 36 }, 'N',
  145. 0, 25, { 92, 28, 102, 36 }, 'M',
  146. 1, 18, { 103, 28, 113, 36 }, 0xBC,
  147. 1, 19, { 114, 28, 124, 36 }, 0xBE,
  148. 1, 20, { 125, 28, 135, 36 }, 0xBF,
  149. 3, 1, { 136, 28, 162, 36 }, VK_RSHIFT,
  150. //3,29,{146,37,154,45},VK_UP,
  151. 3, 2, { 1, 37, 21, 45 }, VK_LCONTROL,
  152. 3, 3, { 22, 37, 32, 45 }, VK_LWIN,
  153. 3, 4, { 33, 37, 45, 45 }, VK_LMENU,
  154. 3, 33, { 46, 37, 106, 45 }, VK_SPACE,
  155. 3, 4, { 107, 37, 119, 45 }, VK_RMENU,
  156. 3, 3, { 120, 37, 130, 45 }, VK_RWIN,
  157. 3, 34, { 131, 37, 141, 45 }, VK_APPS,
  158. 3, 2, { 142, 37, 162, 45 }, VK_RCONTROL,
  159. //3,30,{137,46,145,54},VK_LEFT,
  160. //3,31,{146,46,154,54},VK_DOWN,
  161. //3,32,{155,46,163,54},VK_RIGHT,
  162. //----------
  163. //4,0,{164,10,172,18},VK_NUMLOCK,
  164. //4,1,{173,10,181,18},VK_DIVIDE,
  165. //4,2,{182,10,190,18},VK_MULTIPLY,
  166. //4,3,{191,10,199,18},VK_SUBTRACT,
  167. //2,0,{164,19,172,27},VK_NUMPAD7,
  168. //2,1,{173,19,181,27},VK_NUMPAD8,
  169. //2,2,{182,19,190,27},VK_NUMPAD9,
  170. //4,4,{191,19,199,36},VK_ADD,
  171. //2,3,{164,28,172,36},VK_NUMPAD4,
  172. //2,4,{173,28,181,36},VK_NUMPAD5,
  173. //2,5,{182,28,190,36},VK_NUMPAD6,
  174. //2,6,{164,37,172,45},VK_NUMPAD1,
  175. //2,7,{173,37,181,45},VK_NUMPAD2,
  176. //2,8,{182,37,190,45},VK_NUMPAD3,
  177. //4,5,{191,37,199,54},VK_RETURN,
  178. //2,9,{164,46,181,54},VK_NUMPAD0,
  179. //2,10,{182,46,190,54},VK_DECIMAL
  180. };
  181. const int kcSize = ELEM_COUNT(kcs);
  182. //const SIZE kbSize = {199,54};
  183. const SIZE kbSize = { 162, 45 };