summaryrefslogtreecommitdiffstats
path: root/Model01-Firmware.ino
diff options
context:
space:
mode:
authorJesse Vincent <jesse@fsck.com>2018-07-19 23:24:16 -0700
committerGitHub <noreply@github.com>2018-07-19 23:24:16 -0700
commit29c80e38c82ca17d9fe7fa7965e0c4ebcb4f6771 (patch)
treed27f18c31f6f9ef097bf66ada56ff06cb83f17a6 /Model01-Firmware.ino
parentc1480faea2ba29b9a60a1d74adf0a29cd424f842 (diff)
parent87b7497f25beecd5b999baaa3d1df39099a19154 (diff)
downloadmodel01-firmware-29c80e38c82ca17d9fe7fa7965e0c4ebcb4f6771.tar.gz
model01-firmware-29c80e38c82ca17d9fe7fa7965e0c4ebcb4f6771.tar.bz2
model01-firmware-29c80e38c82ca17d9fe7fa7965e0c4ebcb4f6771.zip
Merge pull request #59 from keyboardio/more-featureful-defaults
More featureful defaults
Diffstat (limited to 'Model01-Firmware.ino')
-rw-r--r--Model01-Firmware.ino87
1 files changed, 83 insertions, 4 deletions
diff --git a/Model01-Firmware.ino b/Model01-Firmware.ino
index e58df7f..23ecf4c 100644
--- a/Model01-Firmware.ino
+++ b/Model01-Firmware.ino
@@ -126,7 +126,28 @@ enum { MACRO_VERSION_INFO,
*
*/
-enum { QWERTY, NUMPAD, FUNCTION }; // layers
+enum { PRIMARY, NUMPAD, FUNCTION }; // layers
+
+
+/**
+ * To change your keyboard's layout from QWERTY to DVORAK or COLEMAK, comment out the line
+ *
+ * #define PRIMARY_KEYMAP_QWERTY
+ *
+ * by changing it to
+ *
+ * // #define PRIMARY_KEYMAP_QWERTY
+ *
+ * Then uncomment the line corresponding to the layout you want to use.
+ *
+ */
+
+#define PRIMARY_KEYMAP_QWERTY
+// #define PRIMARY_KEYMAP_COLEMAK
+// #define PRIMARY_KEYMAP_DVORAK
+// #define PRIMARY_KEYMAP_CUSTOM
+
+
/* This comment temporarily turns off astyle's indent enforcement
* so we can make the keymaps actually resemble the physical key layout better
@@ -135,7 +156,59 @@ enum { QWERTY, NUMPAD, FUNCTION }; // layers
KEYMAPS(
- [QWERTY] = KEYMAP_STACKED
+#if defined (PRIMARY_KEYMAP_QWERTY)
+ [PRIMARY] = KEYMAP_STACKED
+ (___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
+ Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab,
+ Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G,
+ Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape,
+ Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
+ ShiftToLayer(FUNCTION),
+
+ M(MACRO_ANY), Key_6, Key_7, Key_8, Key_9, Key_0, LockLayer(NUMPAD),
+ Key_Enter, Key_Y, Key_U, Key_I, Key_O, Key_P, Key_Equals,
+ Key_H, Key_J, Key_K, Key_L, Key_Semicolon, Key_Quote,
+ Key_RightAlt, Key_N, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus,
+ Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl,
+ ShiftToLayer(FUNCTION)),
+
+#elif defined (PRIMARY_KEYMAP_DVORAK)
+
+ [PRIMARY] = KEYMAP_STACKED
+ (___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
+ Key_Backtick, Key_Quote, Key_Comma, Key_Period, Key_P, Key_Y, Key_Tab,
+ Key_PageUp, Key_A, Key_O, Key_E, Key_U, Key_I,
+ Key_PageDown, Key_Semicolon, Key_Q, Key_J, Key_K, Key_X, Key_Escape,
+ Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
+ ShiftToLayer(FUNCTION),
+
+ M(MACRO_ANY), Key_6, Key_7, Key_8, Key_9, Key_0, LockLayer(NUMPAD),
+ Key_Enter, Key_F, Key_G, Key_C, Key_R, Key_L, Key_Slash,
+ Key_D, Key_H, Key_T, Key_N, Key_S, Key_Minus,
+ Key_RightAlt, Key_B, Key_M, Key_W, Key_V, Key_Z, Key_Equals,
+ Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl,
+ ShiftToLayer(FUNCTION)),
+
+#elif defined (PRIMARY_KEYMAP_COLEMAK)
+
+ [PRIMARY] = KEYMAP_STACKED
+ (___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
+ Key_Backtick, Key_Q, Key_W, Key_F, Key_P, Key_G, Key_Tab,
+ Key_PageUp, Key_A, Key_R, Key_S, Key_T, Key_D,
+ Key_PageDown, Key_Z, Key_X, Key_C, Key_V, Key_B, Key_Escape,
+ Key_LeftControl, Key_Backspace, Key_LeftGui, Key_LeftShift,
+ ShiftToLayer(FUNCTION),
+
+ M(MACRO_ANY), Key_6, Key_7, Key_8, Key_9, Key_0, LockLayer(NUMPAD),
+ Key_Enter, Key_J, Key_L, Key_U, Key_Y, Key_Semicolon, Key_Equals,
+ Key_H, Key_N, Key_E, Key_I, Key_O, Key_Quote,
+ Key_RightAlt, Key_K, Key_M, Key_Comma, Key_Period, Key_Slash, Key_Minus,
+ Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl,
+ ShiftToLayer(FUNCTION)),
+
+#elif defined (PRIMARY_KEYMAP_CUSTOM)
+ // Edit this keymap to make a custom layout
+ [PRIMARY] = KEYMAP_STACKED
(___, Key_1, Key_2, Key_3, Key_4, Key_5, Key_LEDEffectNext,
Key_Backtick, Key_Q, Key_W, Key_E, Key_R, Key_T, Key_Tab,
Key_PageUp, Key_A, Key_S, Key_D, Key_F, Key_G,
@@ -150,6 +223,13 @@ KEYMAPS(
Key_RightShift, Key_LeftAlt, Key_Spacebar, Key_RightControl,
ShiftToLayer(FUNCTION)),
+#else
+
+#error "No default keymap defined. You should make sure that you have a line like '#define PRIMARY_KEYMAP_QWERTY' in your sketch"
+
+#endif
+
+
[NUMPAD] = KEYMAP_STACKED
(___, ___, ___, ___, ___, ___, ___,
@@ -167,7 +247,7 @@ KEYMAPS(
___),
[FUNCTION] = KEYMAP_STACKED
- (___, Key_F1, Key_F2, Key_F3, Key_F4, Key_F5, XXX,
+ (___, Key_F1, Key_F2, Key_F3, Key_F4, Key_F5, Key_CapsLock,
Key_Tab, ___, Key_mouseUp, ___, Key_mouseBtnR, Key_mouseWarpEnd, Key_mouseWarpNE,
Key_Home, Key_mouseL, Key_mouseDn, Key_mouseR, Key_mouseBtnL, Key_mouseWarpNW,
Key_End, Key_PrintScreen, Key_Insert, ___, Key_mouseBtnM, Key_mouseWarpSW, Key_mouseWarpSE,
@@ -180,7 +260,6 @@ KEYMAPS(
Key_PcApplication, Consumer_Mute, Consumer_VolumeDecrement, Consumer_VolumeIncrement, ___, Key_Backslash, Key_Pipe,
___, ___, Key_Enter, ___,
___)
-
) // KEYMAPS(
/* Re-enable astyle's indent enforcement */