Skip to content

Commit 33845a5

Browse files
committed
Fix LAYOUT_PORTUGUESE_BRAZILIAN bugs
1 parent 07dab95 commit 33845a5

File tree

5 files changed

+72
-67
lines changed

5 files changed

+72
-67
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Available as Arduino Board Manager entry "Digistump AVR Boards" using the Board
1919
- Included most [pull requests](https://github.com/digistump/DigistumpArduino/pulls) done after the 1.6.7 release like `recipe.output.tmp_file={build.project_name}.hex` in *platform.txt* and EEPROM library.
2020
- Added recipe to update booltloader by Arduino IDE.
2121
- Removed the non trusted post_install.bat since Arduino code states: `// Set main and bundled indexes as trusted` => all others are untrusted.
22+
- Extended `DigisparkKeyboard` library with 22 keyboard layouts from [Teensyduino Core Library](https://github.com/PaulStoffregen/cores/blob/master/teensy/keylayouts.h), fixed bugs and improved it.
2223

2324
# Installation
2425
To get all the benefits, just replace the old Digispark board URL **http://digistump.com/package_digistump_index.json** (e.g. in Arduino *File/Preferences*) by the new **https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json** and install the **Digistump AVR Boards** version **1.6.8**.

digistump-avr-1.6.8.zip

616 Bytes
Binary file not shown.

digistump-avr/libraries/DigisparkKeyboard/keylayouts.h

+69-65
Original file line numberDiff line numberDiff line change
@@ -110,59 +110,63 @@ extern "C" {
110110
#define KEY_MEDIA_VOLUME_INC ( 0xE9 | 0xE400 )
111111
#define KEY_MEDIA_VOLUME_DEC ( 0xEA | 0xE400 )
112112

113-
#define KEY_A ( 4 | 0xF000 )
114-
#define KEY_B ( 5 | 0xF000 )
115-
#define KEY_C ( 6 | 0xF000 )
116-
#define KEY_D ( 7 | 0xF000 )
117-
#define KEY_E ( 8 | 0xF000 )
118-
#define KEY_F ( 9 | 0xF000 )
119-
#define KEY_G ( 10 | 0xF000 )
120-
#define KEY_H ( 11 | 0xF000 )
121-
#define KEY_I ( 12 | 0xF000 )
122-
#define KEY_J ( 13 | 0xF000 )
123-
#define KEY_K ( 14 | 0xF000 )
124-
#define KEY_L ( 15 | 0xF000 )
125-
#define KEY_M ( 16 | 0xF000 )
126-
#define KEY_N ( 17 | 0xF000 )
127-
#define KEY_O ( 18 | 0xF000 )
128-
#define KEY_P ( 19 | 0xF000 )
129-
#define KEY_Q ( 20 | 0xF000 )
130-
#define KEY_R ( 21 | 0xF000 )
131-
#define KEY_S ( 22 | 0xF000 )
132-
#define KEY_T ( 23 | 0xF000 )
133-
#define KEY_U ( 24 | 0xF000 )
134-
#define KEY_V ( 25 | 0xF000 )
135-
#define KEY_W ( 26 | 0xF000 )
136-
#define KEY_X ( 27 | 0xF000 )
137-
#define KEY_Y ( 28 | 0xF000 )
138-
#define KEY_Z ( 29 | 0xF000 )
139-
#define KEY_1 ( 30 | 0xF000 )
140-
#define KEY_2 ( 31 | 0xF000 )
141-
#define KEY_3 ( 32 | 0xF000 )
142-
#define KEY_4 ( 33 | 0xF000 )
143-
#define KEY_5 ( 34 | 0xF000 )
144-
#define KEY_6 ( 35 | 0xF000 )
145-
#define KEY_7 ( 36 | 0xF000 )
146-
#define KEY_8 ( 37 | 0xF000 )
147-
#define KEY_9 ( 38 | 0xF000 )
148-
#define KEY_0 ( 39 | 0xF000 )
113+
#define KEY_NOKEY 0x00 // Reserved (no event indicated)
114+
#define KEY_ERR_ROLLOVER 0x01 // Keyboard ErrorRollOver
115+
#define KEY_POSTFAIL 0x02 // Keyboard POSTFail
116+
#define KEY_ERR_UNDEFINED 0x03 // Keyboard ErrorUndefined
117+
#define KEY_A ( 0x04 | 0xF000 ) // Keyboard a and A
118+
#define KEY_B ( 0x05 | 0xF000 ) // Keyboard b and B
119+
#define KEY_C ( 0x06 | 0xF000 ) // Keyboard c and C
120+
#define KEY_D ( 0x07 | 0xF000 ) // Keyboard d and D
121+
#define KEY_E ( 0x08 | 0xF000 ) // Keyboard e and E
122+
#define KEY_F ( 0x09 | 0xF000 ) // Keyboard f and F
123+
#define KEY_G ( 0x0A | 0xF000 ) // Keyboard g and G
124+
#define KEY_H ( 0x0B | 0xF000 ) // Keyboard h and H
125+
#define KEY_I ( 0x0C | 0xF000 ) // Keyboard i and I
126+
#define KEY_J ( 0x0D | 0xF000 ) // Keyboard j and J
127+
#define KEY_K ( 0x0E | 0xF000 ) // Keyboard k and K
128+
#define KEY_L ( 0x0F | 0xF000 ) // Keyboard l and L
129+
#define KEY_M ( 0x10 | 0xF000 ) // Keyboard m and M
130+
#define KEY_N ( 0x11 | 0xF000 ) // Keyboard n and N
131+
#define KEY_O ( 0x12 | 0xF000 ) // Keyboard o and O
132+
#define KEY_P ( 0x13 | 0xF000 ) // Keyboard p and P
133+
#define KEY_Q ( 0x14 | 0xF000 ) // Keyboard q and Q
134+
#define KEY_R ( 0x15 | 0xF000 ) // Keyboard r and R
135+
#define KEY_S ( 0x16 | 0xF000 ) // Keyboard s and S
136+
#define KEY_T ( 0x17 | 0xF000 ) // Keyboard t and T
137+
#define KEY_U ( 0x18 | 0xF000 ) // Keyboard u and U
138+
#define KEY_V ( 0x19 | 0xF000 ) // Keyboard v and V
139+
#define KEY_W ( 0x1A | 0xF000 ) // Keyboard w and W
140+
#define KEY_X ( 0x1B | 0xF000 ) // Keyboard x and X
141+
#define KEY_Y ( 0x1C | 0xF000 ) // Keyboard y and Y
142+
#define KEY_Z ( 0x1D | 0xF000 ) // Keyboard z and Z
143+
#define KEY_1 ( 0x1E | 0xF000 ) // Keyboard 1 and !
144+
#define KEY_2 ( 0x1F | 0xF000 ) // Keyboard 2 and
145+
#define KEY_3 ( 0x20 | 0xF000 ) // Keyboard 3 and #
146+
#define KEY_4 ( 0x21 | 0xF000 ) // Keyboard 4 and $
147+
#define KEY_5 ( 0x22 | 0xF000 ) // Keyboard 5 and %
148+
#define KEY_6 ( 0x23 | 0xF000 ) // Keyboard 6 and ^
149+
#define KEY_7 ( 0x24 | 0xF000 ) // Keyboard 7 and &
150+
#define KEY_8 ( 0x25 | 0xF000 ) // Keyboard 8 and *
151+
#define KEY_9 ( 0x26 | 0xF000 ) // Keyboard 9 and (
152+
#define KEY_0 ( 0x27 | 0xF000 ) // Keyboard 0 and )
149153
#define KEY_ENTER ( 40 | 0xF000 )
150154
#define KEY_ESC ( 41 | 0xF000 )
151155
#define KEY_BACKSPACE ( 42 | 0xF000 )
152156
#define KEY_TAB ( 43 | 0xF000 )
153157
#define KEY_SPACE ( 44 | 0xF000 )
154-
#define KEY_MINUS ( 45 | 0xF000 )
155-
#define KEY_EQUAL ( 46 | 0xF000 )
156-
#define KEY_LEFT_BRACE ( 47 | 0xF000 )
157-
#define KEY_RIGHT_BRACE ( 48 | 0xF000 )
158-
#define KEY_BACKSLASH ( 49 | 0xF000 )
159-
#define KEY_NON_US_NUM ( 50 | 0xF000 )
160-
#define KEY_SEMICOLON ( 51 | 0xF000 )
161-
#define KEY_QUOTE ( 52 | 0xF000 )
162-
#define KEY_TILDE ( 53 | 0xF000 )
163-
#define KEY_COMMA ( 54 | 0xF000 )
164-
#define KEY_PERIOD ( 55 | 0xF000 )
165-
#define KEY_SLASH ( 56 | 0xF000 )
158+
#define KEY_MINUS ( 0x2D | 0xF000 ) // Keyboard - and (underscore)
159+
#define KEY_EQUAL ( 0x2E | 0xF000 ) // Keyboard = and +
160+
#define KEY_LEFT_BRACE ( 0x2F | 0xF000 ) // Keyboard [ and {
161+
#define KEY_RIGHT_BRACE ( 0x30 | 0xF000 ) // Keyboard ] and }
162+
#define KEY_BACKSLASH ( 0x31 | 0xF000 ) // Keyboard \ and |
163+
#define KEY_NON_US_NUM ( 0x32 | 0xF000 ) // Keyboard Non-US # and ~
164+
#define KEY_SEMICOLON ( 0x33 | 0xF000 ) // Keyboard ; and :
165+
#define KEY_QUOTE ( 0x34 | 0xF000 ) // Keyboard ‘ and “
166+
#define KEY_TILDE ( 0x35 | 0xF000 ) // Keyboard Grave Accent and Tilde
167+
#define KEY_COMMA ( 0x36 | 0xF000 ) // Keyboard , and <
168+
#define KEY_PERIOD ( 0x37 | 0xF000 ) // Keyboard . and >
169+
#define KEY_SLASH ( 0x38 | 0xF000 ) // Keyboard / and ?
166170
#define KEY_CAPS_LOCK ( 57 | 0xF000 )
167171
#define KEY_F1 ( 58 | 0xF000 )
168172
#define KEY_F2 ( 59 | 0xF000 )
@@ -195,17 +199,17 @@ extern "C" {
195199
#define KEYPAD_MINUS ( 86 | 0xF000 )
196200
#define KEYPAD_PLUS ( 87 | 0xF000 )
197201
#define KEYPAD_ENTER ( 88 | 0xF000 )
198-
#define KEYPAD_1 ( 89 | 0xF000 )
199-
#define KEYPAD_2 ( 90 | 0xF000 )
200-
#define KEYPAD_3 ( 91 | 0xF000 )
201-
#define KEYPAD_4 ( 92 | 0xF000 )
202+
#define KEYPAD_1 ( 89 | 0xF000 ) // Keypad 1 and End
203+
#define KEYPAD_2 ( 90 | 0xF000 ) // Keypad 2 and Down Arrow
204+
#define KEYPAD_3 ( 91 | 0xF000 ) // Keypad 3 and PageDn
205+
#define KEYPAD_4 ( 92 | 0xF000 ) // Keypad 4 and Left Arrow
202206
#define KEYPAD_5 ( 93 | 0xF000 )
203-
#define KEYPAD_6 ( 94 | 0xF000 )
204-
#define KEYPAD_7 ( 95 | 0xF000 )
205-
#define KEYPAD_8 ( 96 | 0xF000 )
206-
#define KEYPAD_9 ( 97 | 0xF000 )
207-
#define KEYPAD_0 ( 98 | 0xF000 )
208-
#define KEYPAD_PERIOD ( 99 | 0xF000 )
207+
#define KEYPAD_6 ( 94 | 0xF000 ) // Keypad 6 and Right Arrow
208+
#define KEYPAD_7 ( 95 | 0xF000 ) // Keypad 7 and Home
209+
#define KEYPAD_8 ( 96 | 0xF000 ) // Keypad 8 and Up Arrow
210+
#define KEYPAD_9 ( 97 | 0xF000 ) // Keypad 9 and PageUp
211+
#define KEYPAD_0 ( 98 | 0xF000 ) // Keypad 0 and Insert
212+
#define KEYPAD_PERIOD ( 99 | 0xF000 ) // Keypad . and Delete
209213
#define KEY_NON_US_BS ( 100 | 0xF000 )
210214
#define KEY_MENU ( 101 | 0xF000 )
211215
#define KEY_F13 ( 104 | 0xF000 )
@@ -3312,14 +3316,14 @@ extern "C" {
33123316
#define ASCII_20 KEY_SPACE // 32
33133317
#define ASCII_21 KEY_1 + SHIFT_MASK // 33 !
33143318
#define ASCII_22 KEY_TILDE + SHIFT_MASK // 34 "
3315-
#define ASCII_23 KEY_3 + ALTGR_MASK // 35 #
3319+
#define ASCII_23 KEY_3 + SHIFT_MASK // 35 #
33163320
#define ASCII_24 KEY_4 + SHIFT_MASK // 36 $
33173321
#define ASCII_25 KEY_5 + SHIFT_MASK // 37 %
33183322
#define ASCII_26 KEY_7 + SHIFT_MASK // 38 &
33193323
#define ASCII_27 KEY_TILDE // 39 '
33203324
#define ASCII_28 KEY_9 + SHIFT_MASK // 40 (
33213325
#define ASCII_29 KEY_0 + SHIFT_MASK // 41 )
3322-
#define ASCII_2A KEY_7 + SHIFT_MASK // 42 *
3326+
#define ASCII_2A KEY_8 + SHIFT_MASK // 42 *
33233327
#define ASCII_2B KEY_EQUAL + SHIFT_MASK // 43 +
33243328
#define ASCII_2C KEY_COMMA // 44 ,
33253329
#define ASCII_2D KEY_MINUS // 45 -
@@ -3371,9 +3375,9 @@ extern "C" {
33713375
#define ASCII_5B KEY_RIGHT_BRACE // 91 [
33723376
#define ASCII_5C KEY_NON_US_100 // 92
33733377
#define ASCII_5D KEY_BACKSLASH // 93 ]
3374-
#define ASCII_5E CIRCUMFLEX_BITS + KEY_SPACE // 94 ^
3378+
#define ASCII_5E KEY_QUOTE + SHIFT_MASK // 94 ^
33753379
#define ASCII_5F KEY_MINUS + SHIFT_MASK // 95 _
3376-
#define ASCII_60 GRAVE_ACCENT_BITS + KEY_SPACE // 96 `
3380+
#define ASCII_60 KEY_LEFT_BRACE + SHIFT_MASK // 96 `
33773381
#define ASCII_61 KEY_A // 97 a
33783382
#define ASCII_62 KEY_B // 98 b
33793383
#define ASCII_63 KEY_C // 99 c
@@ -3403,7 +3407,7 @@ extern "C" {
34033407
#define ASCII_7B KEY_RIGHT_BRACE + SHIFT_MASK // 123 {
34043408
#define ASCII_7C KEY_NON_US_100 + SHIFT_MASK // 124 |
34053409
#define ASCII_7D KEY_BACKSLASH + SHIFT_MASK // 125 }
3406-
#define ASCII_7E TILDE_BITS + KEY_SPACE // 126 ~
3410+
#define ASCII_7E KEY_QUOTE // 126 ~
34073411
#define ASCII_7F KEY_BACKSPACE // 127
34083412

34093413
#define ISO_8859_1_A0 KEY_SPACE // 160 Nonbreakng Space
@@ -3445,7 +3449,7 @@ extern "C" {
34453449
#define ISO_8859_1_C4 DIAERESIS_BITS + KEY_A + SHIFT_MASK // 196 Ä A DIAERESIS
34463450
#define ISO_8859_1_C5 0 // 197 Å A RING ABOVE
34473451
#define ISO_8859_1_C6 0 // 198 Æ AE
3448-
#define ISO_8859_1_C7 0 // 199 Ç C CEDILLA
3452+
#define ISO_8859_1_C7 KEY_SEMICOLON + SHIFT_MASK // 199 Ç C CEDILLA
34493453
#define ISO_8859_1_C8 GRAVE_ACCENT_BITS + KEY_E + SHIFT_MASK // 200 È E GRAVE
34503454
#define ISO_8859_1_C9 ACUTE_ACCENT_BITS + KEY_E + SHIFT_MASK // 201 É E ACUTE
34513455
#define ISO_8859_1_CA CIRCUMFLEX_BITS + KEY_E + SHIFT_MASK // 202 Ê E CIRCUMFLEX
@@ -3477,7 +3481,7 @@ extern "C" {
34773481
#define ISO_8859_1_E4 DIAERESIS_BITS + KEY_A // 228 ä a DIAERESIS
34783482
#define ISO_8859_1_E5 0 // 229 å a RING ABOVE
34793483
#define ISO_8859_1_E6 0 // 230 æ ae
3480-
#define ISO_8859_1_E7 0 // 231 ç c CEDILLA
3484+
#define ISO_8859_1_E7 KEY_SEMICOLON // 231 ç c CEDILLA
34813485
#define ISO_8859_1_E8 GRAVE_ACCENT_BITS + KEY_E // 232 è e GRAVE
34823486
#define ISO_8859_1_E9 ACUTE_ACCENT_BITS + KEY_E // 233 é e ACUTE
34833487
#define ISO_8859_1_EA CIRCUMFLEX_BITS + KEY_E // 234 ê e CIRCUMFLEX
702 Bytes
Binary file not shown.

package_digistump_index.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"category": "Digistump",
1717
"url": "https://github.com/ArminJo/DigistumpArduino/raw/master/digistump-avr-1.6.8.zip",
1818
"archiveFileName": "digistump-avr-1.6.8.zip",
19-
"checksum": "SHA-256:3be94adad4ac8567da5deaa0cd7b451b3e1f622fbb26b02f117ba8d089999d48",
20-
"size": "2166981",
19+
"checksum": "SHA-256:376e1716f3fba50b68d658228dd9593db049e76faf105b1ee003d483fe583f97",
20+
"size": "2167597",
2121
"help": {
2222
"online": "https://github.com/digistump/DigistumpArduino/issues"
2323
},

0 commit comments

Comments
 (0)