1212#include < iostream>
1313#include < vector>
1414#include " Arduino.h"
15+ #include " Keyboard_def.h"
1516
1617struct Chart_t {
1718 uint8_t value;
@@ -33,65 +34,68 @@ const Chart_t X_map_chart[7] = {{1, 0, 1}, {2, 2, 3}, {4, 4, 5},
3334
3435struct KeyValue_t {
3536 const char * value_first;
37+ const int value_num_first;
3638 const char * value_second;
39+ const int value_num_second;
3740};
3841
39- const KeyValue_t _key_value_map[4 ][14 ] = {{{" `" , " ~" },
40- {" 1" , " !" },
41- {" 2" , " @" },
42- {" 3" , " #" },
43- {" 4" , " $" },
44- {" 5" , " %" },
45- {" 6" , " ^" },
46- {" 7" , " &" },
47- {" 8" , " *" },
48- {" 9" , " (" },
49- {" 0" , " )" },
50- {" -" , " _" },
51- {" =" , " +" },
52- {" del" , " del" }},
53- {{" tab" , " tab" },
54- {" q" , " Q" },
55- {" w" , " W" },
56- {" e" , " E" },
57- {" r" , " R" },
58- {" t" , " T" },
59- {" y" , " Y" },
60- {" u" , " U" },
61- {" i" , " I" },
62- {" o" , " O" },
63- {" p" , " P" },
64- {" [" , " {" },
65- {" ]" , " }" },
66- {" \\ " , " |" }},
67- {{" fn" , " fn" },
68- {" shift" , " shift" },
69- {" a" , " A" },
70- {" s" , " S" },
71- {" d" , " D" },
72- {" f" , " F" },
73- {" g" , " G" },
74- {" h" , " H" },
75- {" j" , " J" },
76- {" k" , " K" },
77- {" l" , " L" },
78- {" ;" , " :" },
79- {" '" , " \" " },
80- {" enter" , " enter" }},
81- {{" ctrl" , " ctrl" },
82- {" opt" , " opt" },
83- {" alt" , " alt" },
84- {" z" , " Z" },
85- {" x" , " X" },
86- {" c" , " C" },
87- {" v" , " V" },
88- {" b" , " B" },
89- {" n" , " N" },
90- {" m" , " M" },
91- {" ," , " <" },
92- {" ." , " >" },
93- {" /" , " ?" },
94- {" space" , " space" }}};
42+ const KeyValue_t _key_value_map[4 ][14 ] = {
43+ {{" `" , KB_KEY_BACK_QUOTE, " ~" , KB_KEY_TILDE},
44+ {" 1" , KB_KEY_1, " !" , KB_KEY_BANG},
45+ {" 2" , KB_KEY_2, " @" , KB_KEY_AT},
46+ {" 3" , KB_KEY_3, " #" , KB_KEY_HASH},
47+ {" 4" , KB_KEY_4, " $" , KB_KEY_DOLLAR},
48+ {" 5" , KB_KEY_5, " %" , KB_KEY_PERCENT},
49+ {" 6" , KB_KEY_6, " ^" , KB_KEY_CARET},
50+ {" 7" , KB_KEY_7, " &" , KB_KEY_AND},
51+ {" 8" , KB_KEY_8, " *" , KB_KEY_ASTERISK},
52+ {" 9" , KB_KEY_9, " (" , KB_KEY_L_PARENTHESES},
53+ {" 0" , KB_KEY_0, " )" , KB_KEY_R_PARENTHESES},
54+ {" -" , KB_KEY_MINUS, " _" , KB_KEY_UNDERSCORE},
55+ {" =" , KB_KEY_EQUAL, " +" , KB_KEY_PLUS},
56+ {" del" , KB_KEY_DEL, " del" , KB_KEY_DEL}},
57+ {{" tab" , KB_KEY_TAB, " tab" , KB_KEY_TAB},
58+ {" q" , KB_KEY_L_Q, " Q" , KB_KEY_U_Q},
59+ {" w" , KB_KEY_L_W, " W" , KB_KEY_U_W},
60+ {" e" , KB_KEY_L_E, " E" , KB_KEY_U_E},
61+ {" r" , KB_KEY_L_R, " R" , KB_KEY_U_R},
62+ {" t" , KB_KEY_L_T, " T" , KB_KEY_U_T},
63+ {" y" , KB_KEY_L_Y, " Y" , KB_KEY_U_Y},
64+ {" u" , KB_KEY_L_U, " U" , KB_KEY_U_U},
65+ {" i" , KB_KEY_L_I, " I" , KB_KEY_U_I},
66+ {" o" , KB_KEY_L_O, " O" , KB_KEY_U_O},
67+ {" p" , KB_KEY_L_P, " P" , KB_KEY_U_P},
68+ {" [" , KB_KEY_L_PARENTHESES, " {" , KB_KEY_L_CURLY_BRACKETS},
69+ {" ]" , KB_KEY_R_PARENTHESES, " }" , KB_KEY_R_CURLY_BRACKETS},
70+ {" \\ " , KB_KEY_BACK_SLASK, " |" , KB_KEY_BAR}},
71+ {{" fn" , KB_KEY_FN, " fn" , KB_KEY_FN},
72+ {" shift" , KB_KEY_SHIFT, " shift" , KB_KEY_SHIFT},
73+ {" a" , KB_KEY_L_A, " A" , KB_KEY_U_A},
74+ {" s" , KB_KEY_L_S, " S" , KB_KEY_U_S},
75+ {" d" , KB_KEY_L_D, " D" , KB_KEY_U_D},
76+ {" f" , KB_KEY_L_F, " F" , KB_KEY_U_F},
77+ {" g" , KB_KEY_L_G, " G" , KB_KEY_U_G},
78+ {" h" , KB_KEY_L_H, " H" , KB_KEY_U_H},
79+ {" j" , KB_KEY_L_J, " J" , KB_KEY_U_J},
80+ {" k" , KB_KEY_L_K, " K" , KB_KEY_U_K},
81+ {" l" , KB_KEY_L_L, " L" , KB_KEY_U_L},
82+ {" ;" , KB_KEY_SEMICOLON, " :" , KB_KEY_COLON},
83+ {" '" , KB_KEY_SIGLE_QUOTE, " \" " , KB_KEY_QUOTE},
84+ {" enter" , KB_KEY_ENTER, " enter" , KB_KEY_ENTER}},
85+ {{" ctrl" , KB_KEY_CTRL, " ctrl" , KB_KEY_CTRL},
86+ {" opt" , KB_KEY_OPT, " opt" , KB_KEY_OPT},
87+ {" alt" , KB_KEY_ALT, " alt" , KB_KEY_ALT},
88+ {" z" , KB_KEY_L_Z, " Z" , KB_KEY_U_Z},
89+ {" x" , KB_KEY_L_X, " X" , KB_KEY_U_X},
90+ {" c" , KB_KEY_L_C, " C" , KB_KEY_U_C},
91+ {" v" , KB_KEY_L_V, " V" , KB_KEY_U_V},
92+ {" b" , KB_KEY_L_B, " B" , KB_KEY_U_B},
93+ {" n" , KB_KEY_L_N, " N" , KB_KEY_U_N},
94+ {" m" , KB_KEY_L_M, " M" , KB_KEY_U_M},
95+ {" ," , KB_KEY_COMMA, " <" , KB_KEY_L_ANGLE_BRACKETS},
96+ {" ." , KB_KEY_DOT, " >" , KB_KEY_R_ANGLE_BRACKETS},
97+ {" /" , KB_KEY_SLASH, " ?" , KB_KEY_QUESTION},
98+ {" space" , KB_KEY_SPACE, " space" , KB_KEY_SPACE}}};
9599
96100class Keyboard_Class {
97101 public:
@@ -138,9 +142,7 @@ class Keyboard_Class {
138142 }
139143
140144 void begin ();
141-
142- Point2D_t getKey ();
143- uint8_t getKeyNum (Point2D_t keyCoor);
145+ int getKeyCode (Point2D_t keyCoor);
144146
145147 void updateKeyList ();
146148 inline std::vector<Point2D_t>& keyList () {
@@ -153,9 +155,8 @@ class Keyboard_Class {
153155
154156 uint8_t isPressed ();
155157 bool isChange ();
156- bool isKeyPressing (int keyNum);
157- void clearInputHistory ();
158- String getInputHistory ();
158+ bool isKeyPressed (int keyCode);
159+
159160 void updateKeysState ();
160161 inline KeysState& keysState () {
161162 return _keys_state_buffer;
0 commit comments