diff options
Diffstat (limited to 'keyboards/ckeys/handwire_101/keymaps/default/keymap.c')
| -rwxr-xr-x | keyboards/ckeys/handwire_101/keymaps/default/keymap.c | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/keyboards/ckeys/handwire_101/keymaps/default/keymap.c b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c new file mode 100755 index 000000000..383b3355d --- /dev/null +++ b/keyboards/ckeys/handwire_101/keymaps/default/keymap.c | |||
| @@ -0,0 +1,178 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | |||
| 3 | enum layers { | ||
| 4 | _BASE, // base layer | ||
| 5 | _LAYERS, // layer of all layers | ||
| 6 | _MUSIC, // music mode | ||
| 7 | _MUSIC_4_LIFE, // music mode until unplugged | ||
| 8 | _MOUSE, // mousekeys | ||
| 9 | _TERMINAL, // terminal | ||
| 10 | _ADMIN // admin duties | ||
| 11 | }; | ||
| 12 | |||
| 13 | enum custom_keycodes { | ||
| 14 | TERM_ABOUT = SAFE_RANGE, | ||
| 15 | TERM_PRINT, | ||
| 16 | TERM_FLUSH, | ||
| 17 | TERM_HELP, | ||
| 18 | CKEYS_ABOUT, | ||
| 19 | }; | ||
| 20 | |||
| 21 | extern keymap_config_t keymap_config; | ||
| 22 | |||
| 23 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 24 | /* BASE (numpad) | ||
| 25 | * ,-----------------------. | ||
| 26 | * | 7 | 8 | 9 | / | <-- Hold for LAYERS | ||
| 27 | * |-----+-----+-----+-----| | ||
| 28 | * | 4 | 5 | 6 | * | | ||
| 29 | * |-----+-----+-----+-----| | ||
| 30 | * | 1 | 2 | 3 | - | | ||
| 31 | * |-----+-----+-----+-----| | ||
| 32 | * | 0 | . | = | + | | ||
| 33 | * `---------------------- ' | ||
| 34 | */ | ||
| 35 | [_BASE] = LAYOUT( | ||
| 36 | KC_KP_7, KC_KP_8, KC_KP_9, LT(MO(_LAYERS), KC_PSLS), \ | ||
| 37 | KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, \ | ||
| 38 | KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS, \ | ||
| 39 | KC_KP_0, KC_KP_DOT, KC_KP_EQUAL, KC_PPLS \ | ||
| 40 | ), | ||
| 41 | /* LAYERS | ||
| 42 | * ,---------------------------. | ||
| 43 | * | MUSIC | | | X | | ||
| 44 | * |---------+-----+-----+-----| | ||
| 45 | * | MOUSE | | | | | ||
| 46 | * |---------+-----+-----+-----| | ||
| 47 | * |TERMINAL | | | | | ||
| 48 | * |---------+-----+-----+-----| | ||
| 49 | * | ADMIN | | | | | ||
| 50 | * `---------------------------' | ||
| 51 | */ | ||
| 52 | [_LAYERS] = LAYOUT( | ||
| 53 | TG(_MUSIC), _______, _______, _______, \ | ||
| 54 | TG(_MOUSE), _______, _______, _______, \ | ||
| 55 | TG(_TERMINAL), _______, _______, _______, \ | ||
| 56 | TG(_ADMIN), _______, _______, _______\ | ||
| 57 | ), | ||
| 58 | /* MUSIC | ||
| 59 | * ,-----------------------. | ||
| 60 | * | X | | | X | | ||
| 61 | * |-----+-----+-----+-----| | ||
| 62 | * | | | |4EVER| | ||
| 63 | * |-----+-----+-----+-----| | ||
| 64 | * | OFF | | | | | ||
| 65 | * |-----+-----+-----+-----| | ||
| 66 | * | ON | | |MODES| | ||
| 67 | * `---------------------- ' | ||
| 68 | */ | ||
| 69 | // TODO: Make this music layer the one to jump to other music layers (different octaves) | ||
| 70 | [_MUSIC] = LAYOUT( | ||
| 71 | _______, _______, _______, _______, \ | ||
| 72 | _______, _______, _______, TG(_MUSIC_4_LIFE), \ | ||
| 73 | MU_OFF, _______, _______, _______, \ | ||
| 74 | MU_ON, _______, _______, MU_MOD \ | ||
| 75 | ), | ||
| 76 | /* MUSIC_4_LIFE | ||
| 77 | * ,-----------------------. | ||
| 78 | * | ♫ | ♫ | ♫ | ♫ | | ||
| 79 | * |-----+-----+-----+-----| | ||
| 80 | * | ♫ | ♫ | ♫ | ♫ | | ||
| 81 | * |-----+-----+-----+-----| | ||
| 82 | * | ♫ | ♫ | ♫ | ♫ | | ||
| 83 | * |-----+-----+-----+-----| | ||
| 84 | * | ♫ | ♫ | ♫ | ♫ | | ||
| 85 | * `---------------------- ' | ||
| 86 | */ | ||
| 87 | [_MUSIC_4_LIFE] = LAYOUT( | ||
| 88 | KC_M, KC_M, KC_M, KC_M, \ | ||
| 89 | KC_M, KC_M, KC_M, KC_M, \ | ||
| 90 | KC_M, KC_M, KC_M, KC_M, \ | ||
| 91 | KC_M, KC_M, KC_M, KC_M \ | ||
| 92 | ), | ||
| 93 | /* MOUSE | ||
| 94 | * ,-------------------------------------------------. | ||
| 95 | * | BUTTON 5 | | SCROLL UP | X | | ||
| 96 | * |-----------+-----------+------------+------------| | ||
| 97 | * | X |LEFT CLICK | UP |RIGHT CLICK | | ||
| 98 | * |-----------+-----------+------------+------------| | ||
| 99 | * | BUTTON 4 | LEFT | DOWN | RIGHT | | ||
| 100 | * |-----------+-----------+------------+------=-----| | ||
| 101 | * | BUTTON 3 |SCROLL LEFT|SCROLL DOWN |SCROLL RIGHT| | ||
| 102 | * `-------------------------------------------------' | ||
| 103 | */ | ||
| 104 | [_MOUSE] = LAYOUT( | ||
| 105 | KC_MS_BTN5, _______, KC_MS_WH_UP, _______, \ | ||
| 106 | _______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, \ | ||
| 107 | KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, \ | ||
| 108 | KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT \ | ||
| 109 | ), | ||
| 110 | /* TERMINAL | ||
| 111 | * ,---------------------------------------. | ||
| 112 | * | |ABOUT| | X | | ||
| 113 | * |------------+-----+----------+---------| | ||
| 114 | * |TERMINAL OFF|PRINT| | | | ||
| 115 | * |------------+-----+----------+---------| | ||
| 116 | * | X |FLUSH| | | | ||
| 117 | * |------------+-----+----------+---------| | ||
| 118 | * |TERMINAL ON |HELP | | | | ||
| 119 | * `--------=======------------------------' | ||
| 120 | */ | ||
| 121 | [_TERMINAL] = LAYOUT( | ||
| 122 | _______, TERM_ABOUT, _______, _______, \ | ||
| 123 | TERM_OFF, TERM_PRINT, _______, _______, \ | ||
| 124 | _______, TERM_FLUSH, _______, _______, \ | ||
| 125 | TERM_ON, TERM_HELP , _______, _______\ | ||
| 126 | ), | ||
| 127 | /* ADMIN | ||
| 128 | * ,-----------------------------------------. | ||
| 129 | * | RESET | | | X | | ||
| 130 | * |------------+-----+-----------+----------| | ||
| 131 | * |ABOUT CKEYS | | | | | ||
| 132 | * |------------+-----+-----------+----------| | ||
| 133 | * | | |CLICKY UP |CLICKY OFF| | ||
| 134 | * |------------+-----+-----------+----------| | ||
| 135 | * | X | |CLICKY DOWN|CLICKY ON | | ||
| 136 | * `-----------------------------------------' | ||
| 137 | */ | ||
| 138 | [_ADMIN] = LAYOUT( | ||
| 139 | RESET, _______, _______, _______, \ | ||
| 140 | CKEYS_ABOUT, _______, _______, _______, \ | ||
| 141 | _______, _______, _______, CK_OFF, \ | ||
| 142 | _______, _______, _______, CK_ON \ | ||
| 143 | ), | ||
| 144 | }; | ||
| 145 | |||
| 146 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 147 | switch (keycode) { | ||
| 148 | case TERM_ABOUT: | ||
| 149 | if (record->event.pressed) { | ||
| 150 | // when keycode TERM_ABOUT is pressed | ||
| 151 | SEND_STRING("about"SS_TAP(X_ENTER)); | ||
| 152 | } else { | ||
| 153 | // when keycode TERM_ABOUT is released | ||
| 154 | } | ||
| 155 | break; | ||
| 156 | case TERM_PRINT: | ||
| 157 | if (record->event.pressed) { | ||
| 158 | SEND_STRING("print"SS_TAP(X_ENTER)); | ||
| 159 | } else { } | ||
| 160 | break; | ||
| 161 | case TERM_FLUSH: | ||
| 162 | if (record->event.pressed) { | ||
| 163 | SEND_STRING("flush"SS_TAP(X_ENTER)); | ||
| 164 | } else { } | ||
| 165 | break; | ||
| 166 | case TERM_HELP: | ||
| 167 | if (record->event.pressed) { | ||
| 168 | SEND_STRING("help"SS_TAP(X_ENTER)); | ||
| 169 | } else { } | ||
| 170 | break; | ||
| 171 | case CKEYS_ABOUT: | ||
| 172 | if (record->event.pressed) { | ||
| 173 | SEND_STRING("https://cKeys.org"SS_TAP(X_ENTER)"Making people smile one keyboard at a time."SS_TAP(X_ENTER)"cKeys is a volunteer-run 501(c)(3) nonprofit organization."SS_TAP(X_ENTER)); | ||
| 174 | } else { } | ||
| 175 | break; | ||
| 176 | } | ||
| 177 | return true; | ||
| 178 | }; | ||
