Skip to content

Commit 29c80e3

Browse files
authored
Merge pull request #59 from keyboardio/more-featureful-defaults
More featureful defaults
2 parents c1480fa + 87b7497 commit 29c80e3

File tree

1 file changed

+83
-4
lines changed

1 file changed

+83
-4
lines changed

Model01-Firmware.ino

+83-4
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,28 @@ enum { MACRO_VERSION_INFO,
126126
*
127127
*/
128128

129-
enum { QWERTY, NUMPAD, FUNCTION }; // layers
129+
enum { PRIMARY, NUMPAD, FUNCTION }; // layers
130+
131+
132+
/**
133+
* To change your keyboard's layout from QWERTY to DVORAK or COLEMAK, comment out the line
134+
*
135+
* #define PRIMARY_KEYMAP_QWERTY
136+
*
137+
* by changing it to
138+
*
139+
* // #define PRIMARY_KEYMAP_QWERTY
140+
*
141+
* Then uncomment the line corresponding to the layout you want to use.
142+
*
143+
*/
144+
145+
#define PRIMARY_KEYMAP_QWERTY
146+
// #define PRIMARY_KEYMAP_COLEMAK
147+
// #define PRIMARY_KEYMAP_DVORAK
148+
// #define PRIMARY_KEYMAP_CUSTOM
149+
150+
130151

131152
/* This comment temporarily turns off astyle's indent enforcement
132153
* so we can make the keymaps actually resemble the physical key layout better
@@ -135,7 +156,59 @@ enum { QWERTY, NUMPAD, FUNCTION }; // layers
135156

136157
KEYMAPS(
137158

138-
[QWERTY] = KEYMAP_STACKED
159+
#if defined (PRIMARY_KEYMAP_QWERTY)
160+
[PRIMARY] = KEYMAP_STACKED
161+
(___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
162+
Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab,
163+
Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G,
164+
Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape,
165+
Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
166+
ShiftToLayer(FUNCTION),
167+
168+
M(MACRO_ANY), Key_6, Key_7, Key_8, Key_9, Key_0, LockLayer(NUMPAD),
169+
Key_Enter, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals,
170+
Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote,
171+
Key_RightAlt, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus,
172+
Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl,
173+
ShiftToLayer(FUNCTION)),
174+
175+
#elif defined (PRIMARY_KEYMAP_DVORAK)
176+
177+
[PRIMARY] = KEYMAP_STACKED
178+
(___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
179+
Key_Backtick, Key_Quote, Key_Comma, Key_Period, Key_P, Key_Y, Key_Tab,
180+
Key_PageUp, Key_A, Key_O, Key_E, Key_U, Key_I,
181+
Key_PageDown, Key_Semicolon, Key_Q, Key_J, Key_K, Key_X, Key_Escape,
182+
Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
183+
ShiftToLayer(FUNCTION),
184+
185+
M(MACRO_ANY), Key_6, Key_7, Key_8, Key_9, Key_0, LockLayer(NUMPAD),
186+
Key_Enter, Key_F, Key_G, Key_C, Key_R, Key_L, Key_Slash,
187+
Key_D, Key_H, Key_T, Key_N, Key_S, Key_Minus,
188+
Key_RightAlt, Key_B, Key_M, Key_W, Key_V, Key_Z, Key_Equals,
189+
Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl,
190+
ShiftToLayer(FUNCTION)),
191+
192+
#elif defined (PRIMARY_KEYMAP_COLEMAK)
193+
194+
[PRIMARY] = KEYMAP_STACKED
195+
(___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
196+
Key_Backtick, Key_Q, Key_W, Key_F, Key_P, Key_G, Key_Tab,
197+
Key_PageUp, Key_A, Key_R, Key_S, Key_T, Key_D,
198+
Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape,
199+
Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
200+
ShiftToLayer(FUNCTION),
201+
202+
M(MACRO_ANY), Key_6, Key_7, Key_8, Key_9, Key_0, LockLayer(NUMPAD),
203+
Key_Enter, Key_J, Key_L, Key_U, Key_Y, Key_Semicolon, Key_Equals,
204+
Key_H, Key_N, Key_E, Key_I, Key_O, Key_Quote,
205+
Key_RightAlt, Key_K, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus,
206+
Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl,
207+
ShiftToLayer(FUNCTION)),
208+
209+
#elif defined (PRIMARY_KEYMAP_CUSTOM)
210+
// Edit this keymap to make a custom layout
211+
[PRIMARY] = KEYMAP_STACKED
139212
(___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
140213
Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab,
141214
Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G,
@@ -150,6 +223,13 @@ KEYMAPS(
150223
Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl,
151224
ShiftToLayer(FUNCTION)),
152225

226+
#else
227+
228+
#error "No default keymap defined. You should make sure that you have a line like '#define PRIMARY_KEYMAP_QWERTY' in your sketch"
229+
230+
#endif
231+
232+
153233

154234
[NUMPAD] = KEYMAP_STACKED
155235
(___, ___, ___, ___, ___, ___, ___,
@@ -167,7 +247,7 @@ KEYMAPS(
167247
___),
168248

169249
[FUNCTION] = KEYMAP_STACKED
170-
(___, Key_F1, Key_F2, Key_F3, Key_F4, Key_F5, XXX,
250+
(___, Key_F1, Key_F2, Key_F3, Key_F4, Key_F5, Key_CapsLock,
171251
Key_Tab, ___, Key_mouseUp, ___, Key_mouseBtnR, Key_mouseWarpEnd, Key_mouseWarpNE,
172252
Key_Home, Key_mouseL, Key_mouseDn, Key_mouseR, Key_mouseBtnL, Key_mouseWarpNW,
173253
Key_End, Key_PrintScreen, Key_Insert, ___, Key_mouseBtnM, Key_mouseWarpSW, Key_mouseWarpSE,
@@ -180,7 +260,6 @@ KEYMAPS(
180260
Key_PcApplication, Consumer_Mute, Consumer_VolumeDecrement, Consumer_VolumeIncrement, ___, Key_Backslash, Key_Pipe,
181261
___, ___, Key_Enter, ___,
182262
___)
183-
184263
) // KEYMAPS(
185264

186265
/* Re-enable astyle's indent enforcement */

0 commit comments

Comments
 (0)