106106
107107/* Keyboard constants Change to suit your Arduino
108108 define pins used for data and clock from keyboard */
109- // #define DATAPIN 4
110- // #define IRQPIN 3
111- #if defined(ARDUINO_ARCH_AVR)
112- #define DATAPIN 19
113- #define IRQPIN 18
114- #elif defined(ARDUINO_ARCH_SAM)
115- #define DATAPIN 14
116- #define IRQPIN 15
117- #endif
109+ #define DATAPIN 4
110+ #define IRQPIN 3
118111
119- /* LCD pins definitions to match your LCD */
120- #if 0
112+ /* LCD pins definitions to match your LCD 4 bit mode */
121113#define RS 12
122114#define ENA 11
123- // #define RW 0
124- #define D7 7
115+ #define RW 10
116+ #define D7 9
125117#define D6 8
126- #define D5 9
127- #define D4 10
128- #endif
129- #if defined(ARDUINO_ARCH_AVR)
130- #define RS 33
131- #define ENA 31
132- #define RW 35
133- #define D7 29
134- #define D6 28
135- #define D5 27
136- #define D4 26
137- #elif defined(ARDUINO_ARCH_SAM)
138- #define RS 38
139- #define ENA 40
140- #define RW 41
141- #define D7 47
142- #define D6 46
143- #define D5 49
144- #define D4 48
145- #endif
118+ #define D5 7
119+ #define D4 6
146120
147121/* LCD Constants to match your display */
148122/* Columns in display */
149123#define MAX_COL 16
150124/* Rows in display */
151- #define MAX_ROW 2
125+ #define MAX_ROW 2
126+
127+ /* LCD Constants to match your display */
128+ /* Columns in display */
129+ #define MAX_COL 20
130+ /* Rows in display */
131+ #define MAX_ROW 4
152132
153133/* current cursor position */
154134signed char cols = 0 ;
@@ -158,10 +138,11 @@ signed char rows = 0;
158138/* Key codes and strings for keys producing a string */
159139/* three arrays in same order ( keycode, string to display, length of string ) */
160140#if defined(ARDUINO_ARCH_AVR)
161- const uint8_t codes[] PROGMEM = { PS2_KEY_TAB, PS2_KEY_ESC, PS2_KEY_DELETE,
141+ const uint8_t codes[] PROGMEM = { PS2_KEY_SPACE, PS2_KEY_TAB, PS2_KEY_ESC, PS2_KEY_DELETE,
162142 PS2_KEY_F1, PS2_KEY_F2, PS2_KEY_F3, PS2_KEY_F4,
163143 PS2_KEY_F5, PS2_KEY_F6, PS2_KEY_F7, PS2_KEY_F8,
164144 PS2_KEY_F9, PS2_KEY_F10, PS2_KEY_F11, PS2_KEY_F12 };
145+ const char spacestr[] PROGMEM = " " ;
165146const char tabstr[] PROGMEM = " [Tab]" ;
166147const char escstr[] PROGMEM = " [ESC]" ;
167148const char delstr[] PROGMEM = " [Del]" ;
@@ -178,20 +159,25 @@ const char f10str[] PROGMEM = "[F10]";
178159const char f11str[] PROGMEM = " [F11]" ;
179160const char f12str[] PROGMEM = " [F12]" ;
180161
181- const int8_t sizes[] PROGMEM = { 5 , 5 , 5 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 };
162+ // Due to AVR Harvard architecture array of string pointers to actual strings
182163const char *const keys[] PROGMEM = {
183- tabstr, escstr, delstr, f1str, f2str, f3str ,
184- f4str, f5str, f6str, f7str, f8str,
164+ spacestr, tabstr, escstr, delstr, f1str, f2str,
165+ f3str, f4str, f5str, f6str, f7str, f8str,
185166 f9str, f10str, f11str, f12str };
167+ const int8_t sizes[] PROGMEM = { 1 , 5 , 5 , 5 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 };
186168char buffer[ 8 ];
169+
187170#elif defined(ARDUINO_ARCH_SAM)
188- const uint8_t codes[] = { PS2_KEY_TAB, PS2_KEY_ESC, PS2_KEY_DELETE, PS2_KEY_F1, PS2_KEY_F2,
189- PS2_KEY_F3, PS2_KEY_F4, PS2_KEY_F5, PS2_KEY_F6, PS2_KEY_F7,
190- PS2_KEY_F8, PS2_KEY_F9, PS2_KEY_F10, PS2_KEY_F11, PS2_KEY_F12 };
191- const char *const keys[] = { " [Tab]" , " [ESC]" , " [Del]" , " [F1]" , " [F2]" , " [F3]" ,
171+ const uint8_t codes[] = { PS2_KEY_SPACE, PS2_KEY_TAB, PS2_KEY_ESC,
172+ PS2_KEY_DELETE, PS2_KEY_F1, PS2_KEY_F2, PS2_KEY_F3,
173+ PS2_KEY_F4, PS2_KEY_F5, PS2_KEY_F6, PS2_KEY_F7,
174+ PS2_KEY_F8, PS2_KEY_F9, PS2_KEY_F10, PS2_KEY_F11,
175+ PS2_KEY_F12 };
176+ const char *const keys[] = { " " , " [Tab]" , " [ESC]" , " [Del]" , " [F1]" , " [F2]" , " [F3]" ,
192177 " [F4]" , " [F5]" , " [F6]" , " [F7]" , " [F8]" ,
193178 " [F9]" , " [F10]" , " [F11]" , " [F12]" };
194- const int8_t sizes[] = { 5 , 5 , 5 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 };
179+ const int8_t sizes[] = { 1 , 5 , 5 , 5 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 };
180+
195181#else
196182 #error “This library only supports boards with an AVR or SAM processor.”
197183#endif
0 commit comments