aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/ergodox/keymaps/familiar/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ergodox/keymaps/familiar/keymap.c')
-rw-r--r--keyboards/ergodox/keymaps/familiar/keymap.c221
1 files changed, 221 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/familiar/keymap.c b/keyboards/ergodox/keymaps/familiar/keymap.c
new file mode 100644
index 000000000..e79e96109
--- /dev/null
+++ b/keyboards/ergodox/keymaps/familiar/keymap.c
@@ -0,0 +1,221 @@
+#include "ergodox.h"
+#include "debug.h"
+#include "action_layer.h"
+#include "version.h"
+
+#define BASE 0 // default layer
+#define ARRW 1 // function, media, arrow keys
+#define NUMP 2 // numpad
+#define INTL 3 // international symbols
+
+#define _______ KC_TRNS // Make the layouts easier to read
+
+enum custom_keycodes {
+ PLACEHOLDER = SAFE_RANGE, // can always be here
+ EPRM,
+ VRSN,
+ RGB_SLD
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+// If it accepts an argument (i.e, is a function), it doesn't need KC_.
+// Otherwise, it needs KC_*
+/* layer 0 : default
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | ESC | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | - | = | BCKSPC |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | TAB | Q | W | E | R | T | HOME | | PGUP | Y | U | I | O | P | DELETE |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | INSERT | A | S | D | F | G |------| |------| H | J | K | L | ; | ENTER |
+ * |--------+------+------+------+------+------| END | | PGDN |------+------+------+------+------+--------|
+ * | (/LSFT | Z | X | C | V | B | | | | N | M | , | . | / | )/RSFT |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | LCTRL | LGUI | | ' |PRTSCR| | [ | ] | \ | RGUI | RCTRL |
+ * `------------------------------------' `------------------------------------'
+ * ,-------------. ,-------------.
+ * | VOL- | VOL+ | | BRT- | BRT+ |
+ * ,------|------|------| |------+------+------.
+ * | ALT/ | | MUTE | | NUMLK| | ALT/ |
+ * | SPC | LAY1 |------| |------| LAY1 | SPC |
+ * | | | LAY3 | | LAY2 | | |
+ * `--------------------' `--------------------'
+ */
+[BASE] = KEYMAP(
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_HOME,
+ KC_INS, KC_A, KC_S, KC_D, KC_F, KC_G,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END,
+ KC_LCTL, KC_LGUI, _______, KC_QUOT, KC_PSCR,
+ KC_VOLD, KC_VOLU,
+ KC_MUTE,
+ ALT_T(KC_SPC), MO(ARRW), TG(INTL),
+ // right hand
+ KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_PGUP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
+ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER,
+ KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_LBRC, KC_RBRC, KC_BSLS, KC_RGUI, KC_RCTL,
+ KC_VOLD, KC_VOLU,
+ KC_NLCK,
+ TG(NUMP), MO(ARRW), ALT_T(KC_SPC)
+ ),
+
+/* layer 1 : functions and arrows
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | SYSREQ | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | PAUSE |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | UP | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | LEFT | DOWN |RIGHT | |------| |------| LEFT | DOWN | UP | RIGHT| | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | |M_PREV|M_STOP|M_PLPS|M_NEXT| | | | | | | | | UP | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | LEFT | DOWN | RIGHT |
+ * `------------------------------------' `------------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[ARRW] = KEYMAP(
+ // left hand
+ KC_SYSREQ, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, _______, _______, KC_UP, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______,
+ _______,
+ _______, _______, _______,
+ // right hand
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PAUSE,
+ _______, _______, _______, _______, _______, _______, _______,
+ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
+ _______, _______, _______, _______, _______, KC_UP, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT,
+ _______, _______,
+ _______,
+ _______, _______, _______
+ ),
+
+/* layer 2 : numberpad
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `------------------------------------' `------------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[NUMP] = KEYMAP(
+ // left hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______,
+ _______,
+ _______, _______, _______,
+ // right hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______,
+ _______,
+ _______, _______, _______
+ ),
+
+/* layer 3: International symbols, etc
+ *
+ * ,--------------------------------------------------. ,--------------------------------------------------.
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | |------| |------| | | | | | |
+ * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
+ * | | | | | | | | | | | | | | | |
+ * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
+ * | | | | | | | | | | | |
+ * `------------------------------------' `------------------------------------'
+ * ,-------------. ,-------------.
+ * | | | | | |
+ * ,------|------|------| |------+------+------.
+ * | | | | | | | |
+ * | | |------| |------| | |
+ * | | | | | | | |
+ * `--------------------' `--------------------'
+ */
+[INTL] = KEYMAP(
+ // left hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______,
+ _______,
+ _______, _______, _______,
+ // right hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______,
+ _______,
+ _______, _______, _______
+ ),
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+
+ uint8_t layer = biton32(layer_state);
+
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case 1:
+ ergodox_right_led_1_on();
+ break;
+ case 2:
+ ergodox_right_led_2_on();
+ break;
+ case 3:
+ ergodox_right_led_3_on();
+ break;
+ default:
+ // none
+ break;
+ }
+
+};