diff options
Diffstat (limited to 'keyboards')
78 files changed, 4506 insertions, 59 deletions
diff --git a/keyboards/boardsource/4x12/keymaps/via/keymap.c b/keyboards/boardsource/4x12/keymaps/via/keymap.c new file mode 100644 index 000000000..d9a0c47a6 --- /dev/null +++ b/keyboards/boardsource/4x12/keymaps/via/keymap.c | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | |||
| 3 | enum layers { | ||
| 4 | _MAIN, | ||
| 5 | _RAISE, | ||
| 6 | _LOWER, | ||
| 7 | }; | ||
| 8 | |||
| 9 | // Readability keycodes | ||
| 10 | #define LOWER MO(_LOWER) | ||
| 11 | #define RAISE MO(_RAISE) | ||
| 12 | |||
| 13 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 14 | |||
| 15 | [_MAIN] = LAYOUT_ortho_4x12( | ||
| 16 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
| 17 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
| 18 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , | ||
| 19 | KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT | ||
| 20 | ), | ||
| 21 | |||
| 22 | [_RAISE] = LAYOUT_ortho_4x12( | ||
| 23 | KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, | ||
| 24 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||
| 25 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, | ||
| 26 | RESET, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
| 27 | ), | ||
| 28 | |||
| 29 | [_LOWER] = LAYOUT_ortho_4x12( | ||
| 30 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
| 31 | KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 32 | _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, | ||
| 33 | _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY | ||
| 34 | ) | ||
| 35 | |||
| 36 | }; | ||
diff --git a/keyboards/boardsource/4x12/keymaps/via/readme.md b/keyboards/boardsource/4x12/keymaps/via/readme.md new file mode 100644 index 000000000..534633d45 --- /dev/null +++ b/keyboards/boardsource/4x12/keymaps/via/readme.md | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | # The via keymap for boardsource 4x12 ortholinear keybaoard | ||
| 2 | |||
| 3 | This folder contains the [VIA](https://caniusevia.com/) configuration for the boardsource 4x12 ortholinear keybaoard | ||
| 4 | |||
| 5 | Maintained by: [gwillad](https://github.com/gwillad) | ||
diff --git a/keyboards/boardsource/4x12/keymaps/via/rules.mk b/keyboards/boardsource/4x12/keymaps/via/rules.mk new file mode 100644 index 000000000..036bd6d1c --- /dev/null +++ b/keyboards/boardsource/4x12/keymaps/via/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| VIA_ENABLE = yes \ No newline at end of file | |||
diff --git a/keyboards/converter/adb_usb/adb_usb.h b/keyboards/converter/adb_usb/adb_usb.h index 8691adcc6..3db303b03 100644 --- a/keyboards/converter/adb_usb/adb_usb.h +++ b/keyboards/converter/adb_usb/adb_usb.h | |||
| @@ -56,7 +56,7 @@ Ported to QMK by Peter Roe <pete@13bit.me> | |||
| 56 | { K38, K39, K3A, K3B, K3C, K3D, K3E, KC_NO, }, \ | 56 | { K38, K39, K3A, K3B, K3C, K3D, K3E, KC_NO, }, \ |
| 57 | { KC_NO, K41, KC_NO, K43, KC_NO, K45, KC_NO, K47 }, \ | 57 | { KC_NO, K41, KC_NO, K43, KC_NO, K45, KC_NO, K47 }, \ |
| 58 | { KC_NO, KC_NO, KC_NO, K4B, K4C, KC_NO, K4E, KC_NO, }, \ | 58 | { KC_NO, KC_NO, KC_NO, K4B, K4C, KC_NO, K4E, KC_NO, }, \ |
| 59 | { KC_NO, KC_NO, K52, K53, K54, K55, K56, K57 }, \ | 59 | { KC_NO, K51, K52, K53, K54, K55, K56, K57 }, \ |
| 60 | { K58, K59, KC_NO, K5B, K5C, KC_NO, KC_NO, KC_NO, }, \ | 60 | { K58, K59, KC_NO, K5B, K5C, KC_NO, KC_NO, KC_NO, }, \ |
| 61 | { K60, K61, K62, K63, K64, K65, KC_NO, K67 }, \ | 61 | { K60, K61, K62, K63, K64, K65, KC_NO, K67 }, \ |
| 62 | { KC_NO, K69, KC_NO, K6B, KC_NO, K6D, KC_NO, K6F }, \ | 62 | { KC_NO, K69, KC_NO, K6B, KC_NO, K6D, KC_NO, K6F }, \ |
diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/config.h b/keyboards/ergodox_ez/keymaps/nathanvercaemert/config.h index 6d69b0011..06c50e0a9 100644 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/config.h +++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/config.h | |||
| @@ -18,6 +18,9 @@ | |||
| 18 | #undef MOUSEKEY_WHEEL_INTERVAL | 18 | #undef MOUSEKEY_WHEEL_INTERVAL |
| 19 | #define MOUSEKEY_WHEEL_INTERVAL 50 | 19 | #define MOUSEKEY_WHEEL_INTERVAL 50 |
| 20 | 20 | ||
| 21 | #undef MK_COMBINED | ||
| 22 | #define MK_COMBINED | ||
| 23 | |||
| 21 | // /* Temporarily defining a tapping term that is ridiculous to see if i can tell if lt is working. */ | 24 | // /* Temporarily defining a tapping term that is ridiculous to see if i can tell if lt is working. */ |
| 22 | // #undef TAPPING_TERM | 25 | // #undef TAPPING_TERM |
| 23 | // #define TAPPING_TERM 499 | 26 | // #define TAPPING_TERM 499 |
diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c index c2960cfa1..e06d0b769 100644 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c +++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c | |||
| @@ -28,13 +28,17 @@ | |||
| 28 | 28 | ||
| 29 | enum custom_keycodes { | 29 | enum custom_keycodes { |
| 30 | RGB_SLD = EZ_SAFE_RANGE, | 30 | RGB_SLD = EZ_SAFE_RANGE, |
| 31 | MS_WH_UP, | ||
| 32 | MS_WH_DOWN, | ||
| 33 | MS_WH_RIGHT, | ||
| 34 | MS_WH_LEFT, | ||
| 31 | }; | 35 | }; |
| 32 | 36 | ||
| 33 | // tapdance keycodes | 37 | // tapdance keycodes |
| 34 | enum td_keycodes { | 38 | enum td_keycodes { |
| 35 | CTRL_TO12, | 39 | CTRL_TO12, |
| 36 | SHIFT_TO13, | 40 | SHIFT_TO13, |
| 37 | ALT_TO11 | 41 | ALT_TO11, |
| 38 | }; | 42 | }; |
| 39 | 43 | ||
| 40 | // define a type containing as many tapdance states as you need | 44 | // define a type containing as many tapdance states as you need |
| @@ -59,6 +63,7 @@ void altto11_reset (qk_tap_dance_state_t *state, void *user_data); | |||
| 59 | void shiftto13_finished (qk_tap_dance_state_t *state, void *user_data); | 63 | void shiftto13_finished (qk_tap_dance_state_t *state, void *user_data); |
| 60 | void shiftto13_reset (qk_tap_dance_state_t *state, void *user_data); | 64 | void shiftto13_reset (qk_tap_dance_state_t *state, void *user_data); |
| 61 | 65 | ||
| 66 | |||
| 62 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 67 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 63 | [0] = LAYOUT_ergodox_pretty( | 68 | [0] = LAYOUT_ergodox_pretty( |
| 64 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | 69 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
| @@ -162,9 +167,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 162 | ), | 167 | ), |
| 163 | [10] = LAYOUT_ergodox_pretty( | 168 | [10] = LAYOUT_ergodox_pretty( |
| 164 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | 169 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, |
| 165 | KC_TRANSPARENT, KC_NO, KC_LGUI, KC_MS_BTN2, KC_NO, KC_NO, KC_TRANSPARENT, MT(MOD_RCTL, KC_A), KC_NO, KC_NO, KC_MS_UP, KC_NO, KC_NO, KC_TRANSPARENT, | 170 | KC_TRANSPARENT, KC_NO, KC_LGUI, KC_MS_BTN2, KC_ACL2, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_MS_UP, KC_NO, KC_NO, KC_TRANSPARENT, |
| 166 | KC_TRANSPARENT, TD(SHIFT_TO13), TD(CTRL_TO12), TD(ALT_TO11), KC_MS_BTN1, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_TRANSPARENT, | 171 | KC_TRANSPARENT, TD(SHIFT_TO13), TD(CTRL_TO12), TD(ALT_TO11), KC_MS_BTN1, KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_NO, KC_TRANSPARENT, |
| 167 | KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, | 172 | KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_ACL0, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, |
| 168 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | 173 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, |
| 169 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | 174 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, |
| 170 | KC_TRANSPARENT, KC_TRANSPARENT, | 175 | KC_TRANSPARENT, KC_TRANSPARENT, |
| @@ -182,9 +187,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 182 | ), | 187 | ), |
| 183 | [12] = LAYOUT_ergodox_pretty( | 188 | [12] = LAYOUT_ergodox_pretty( |
| 184 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | 189 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, |
| 185 | KC_TRANSPARENT, KC_NO, KC_LGUI, KC_HYPR, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_TRANSPARENT, | 190 | KC_TRANSPARENT, KC_NO, KC_LGUI, KC_HYPR, KC_ACL2, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_MS_WH_UP, KC_NO, KC_NO, KC_TRANSPARENT, |
| 186 | KC_TRANSPARENT, KC_LSHIFT, KC_LCTRL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, KC_NO, KC_TRANSPARENT, | 191 | KC_TRANSPARENT, KC_LSHIFT, KC_LCTRL, KC_LALT, KC_NO, KC_NO, KC_NO, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT, KC_NO, KC_TRANSPARENT, |
| 187 | KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, | 192 | KC_TRANSPARENT, KC_NO, MT(MOD_LGUI | MOD_LCTL,KC_NO), MO(14), KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, |
| 188 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | 193 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, |
| 189 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | 194 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, |
| 190 | KC_TRANSPARENT, KC_TRANSPARENT, | 195 | KC_TRANSPARENT, KC_TRANSPARENT, |
| @@ -200,16 +205,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 200 | KC_TRANSPARENT, KC_TRANSPARENT, | 205 | KC_TRANSPARENT, KC_TRANSPARENT, |
| 201 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, TO(0) | 206 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, TO(0) |
| 202 | ), | 207 | ), |
| 208 | [14] = LAYOUT_ergodox_pretty( | ||
| 209 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | ||
| 210 | KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, MS_WH_UP, KC_NO, KC_NO, KC_TRANSPARENT, | ||
| 211 | KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, MS_WH_LEFT, MS_WH_DOWN, MS_WH_RIGHT, KC_NO, KC_TRANSPARENT, | ||
| 212 | KC_TRANSPARENT, KC_NO, KC_NO, KC_TRANSPARENT, KC_NO, KC_NO, KC_TRANSPARENT, KC_TRANSPARENT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRANSPARENT, | ||
| 213 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | ||
| 214 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, | ||
| 215 | KC_TRANSPARENT, KC_TRANSPARENT, | ||
| 216 | KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT | ||
| 217 | ), | ||
| 203 | }; | 218 | }; |
| 204 | 219 | ||
| 205 | |||
| 206 | /* Commenting out for debug purposes */ | ||
| 207 | // bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 208 | // switch (keycode) { | ||
| 209 | // } | ||
| 210 | // return true; | ||
| 211 | // } | ||
| 212 | |||
| 213 | uint32_t layer_state_set_user(uint32_t state) { | 220 | uint32_t layer_state_set_user(uint32_t state) { |
| 214 | uint8_t layer = biton32(state); | 221 | uint8_t layer = biton32(state); |
| 215 | ergodox_board_led_off(); | 222 | ergodox_board_led_off(); |
| @@ -252,11 +259,31 @@ uint32_t layer_state_set_user(uint32_t state) { | |||
| 252 | // determine the tapdance state to return | 259 | // determine the tapdance state to return |
| 253 | int cur_dance (qk_tap_dance_state_t *state) { | 260 | int cur_dance (qk_tap_dance_state_t *state) { |
| 254 | if (state->count == 1) { | 261 | if (state->count == 1) { |
| 255 | if (state->interrupted || !state->pressed) { return SINGLE_TAP; } | 262 | if (state->interrupted && state->pressed && state->interrupting_keycode == KC_MS_BTN1) {return SINGLE_HOLD;} |
| 263 | if (state->interrupted && state->pressed && state->interrupting_keycode == 22273) {return SINGLE_HOLD;} | ||
| 264 | if (state->interrupted && state->pressed && state->interrupting_keycode == 22272) {return SINGLE_HOLD;} | ||
| 265 | if (state->interrupted && state->pressed && state->interrupting_keycode == KC_TAB) {return SINGLE_HOLD;} | ||
| 266 | else if (state->interrupted || !state->pressed) { | ||
| 267 | // if (state->interrupted) { | ||
| 268 | // print("interrupted\n"); | ||
| 269 | // uprintf("Shift: %u\n", KC_LSHIFT); | ||
| 270 | // uprintf("Control: %u\n", KC_LCTRL); | ||
| 271 | // uprintf("%u\n",state->interrupting_keycode); | ||
| 272 | // } | ||
| 273 | return SINGLE_TAP; | ||
| 274 | } | ||
| 256 | else { return SINGLE_HOLD; } | 275 | else { return SINGLE_HOLD; } |
| 257 | } | 276 | } |
| 258 | else { return 2; } // any number higher than the maximum state value you return above | 277 | else { return 2; } // any number higher than the maximum state value you return above |
| 259 | } | 278 | } |
| 279 | // /* Backup in case previous code is hard to piece together. */ | ||
| 280 | // int cur_dance (qk_tap_dance_state_t *state) { | ||
| 281 | // if (state->count == 1) { | ||
| 282 | // if (state->interrupted || !state->pressed) { return SINGLE_TAP; } | ||
| 283 | // else { return SINGLE_HOLD; } | ||
| 284 | // } | ||
| 285 | // else { return 2; } // any number higher than the maximum state value you return above | ||
| 286 | // } | ||
| 260 | 287 | ||
| 261 | void ctrlto12_finished (qk_tap_dance_state_t *state, void *user_data) { | 288 | void ctrlto12_finished (qk_tap_dance_state_t *state, void *user_data) { |
| 262 | td_state = cur_dance(state); | 289 | td_state = cur_dance(state); |
| @@ -265,7 +292,14 @@ void ctrlto12_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 265 | layer_on(12); | 292 | layer_on(12); |
| 266 | break; | 293 | break; |
| 267 | case SINGLE_HOLD: | 294 | case SINGLE_HOLD: |
| 295 | if (state->interrupted && (state->interrupting_keycode == 22273 || state->interrupting_keycode == 43)) { | ||
| 296 | register_mods(MOD_BIT(KC_LCTRL)); | ||
| 297 | break; | ||
| 298 | } | ||
| 268 | register_mods(MOD_BIT(KC_LCTRL)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here | 299 | register_mods(MOD_BIT(KC_LCTRL)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here |
| 300 | if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { | ||
| 301 | register_code16(LCTL(KC_MS_BTN1)); | ||
| 302 | } | ||
| 269 | break; | 303 | break; |
| 270 | } | 304 | } |
| 271 | } | 305 | } |
| @@ -275,7 +309,14 @@ void ctrlto12_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 275 | case SINGLE_TAP: | 309 | case SINGLE_TAP: |
| 276 | break; | 310 | break; |
| 277 | case SINGLE_HOLD: | 311 | case SINGLE_HOLD: |
| 312 | if (state->interrupted && (state->interrupting_keycode == 22273 || state->interrupting_keycode == 43) ) { | ||
| 313 | unregister_mods(MOD_BIT(KC_LCTRL)); | ||
| 314 | break; | ||
| 315 | } | ||
| 278 | unregister_mods(MOD_BIT(KC_LCTRL)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here | 316 | unregister_mods(MOD_BIT(KC_LCTRL)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here |
| 317 | if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { | ||
| 318 | unregister_code16(LCTL(KC_MS_BTN1)); | ||
| 319 | } | ||
| 279 | break; | 320 | break; |
| 280 | } | 321 | } |
| 281 | } | 322 | } |
| @@ -287,7 +328,14 @@ void shiftto13_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 287 | layer_on(13); | 328 | layer_on(13); |
| 288 | break; | 329 | break; |
| 289 | case SINGLE_HOLD: | 330 | case SINGLE_HOLD: |
| 331 | if (state->interrupted && (state->interrupting_keycode == 22272 || state->interrupting_keycode == 43) ) { | ||
| 332 | register_mods(MOD_BIT(KC_LSHIFT)); | ||
| 333 | break; | ||
| 334 | } | ||
| 290 | register_mods(MOD_BIT(KC_LSHIFT)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here | 335 | register_mods(MOD_BIT(KC_LSHIFT)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here |
| 336 | if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { | ||
| 337 | register_code16(LSFT(KC_MS_BTN1)); | ||
| 338 | } | ||
| 291 | break; | 339 | break; |
| 292 | } | 340 | } |
| 293 | } | 341 | } |
| @@ -297,7 +345,14 @@ void shiftto13_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 297 | case SINGLE_TAP: | 345 | case SINGLE_TAP: |
| 298 | break; | 346 | break; |
| 299 | case SINGLE_HOLD: | 347 | case SINGLE_HOLD: |
| 348 | if (state->interrupted && (state->interrupting_keycode == 22272 || state->interrupting_keycode == 43) ) { | ||
| 349 | unregister_mods(MOD_BIT(KC_LSHIFT)); | ||
| 350 | break; | ||
| 351 | } | ||
| 300 | unregister_mods(MOD_BIT(KC_LSHIFT)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here | 352 | unregister_mods(MOD_BIT(KC_LSHIFT)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here |
| 353 | if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { | ||
| 354 | unregister_code16(LSFT(KC_MS_BTN1)); | ||
| 355 | } | ||
| 301 | break; | 356 | break; |
| 302 | } | 357 | } |
| 303 | } | 358 | } |
| @@ -310,6 +365,9 @@ void altto11_finished (qk_tap_dance_state_t *state, void *user_data) { | |||
| 310 | break; | 365 | break; |
| 311 | case SINGLE_HOLD: | 366 | case SINGLE_HOLD: |
| 312 | register_mods(MOD_BIT(KC_LALT)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here | 367 | register_mods(MOD_BIT(KC_LALT)); // for a layer-tap key, use `layer_on(_MY_LAYER)` here |
| 368 | if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { | ||
| 369 | register_code16(LALT(KC_MS_BTN1)); | ||
| 370 | } | ||
| 313 | break; | 371 | break; |
| 314 | } | 372 | } |
| 315 | } | 373 | } |
| @@ -320,6 +378,9 @@ void altto11_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 320 | break; | 378 | break; |
| 321 | case SINGLE_HOLD: | 379 | case SINGLE_HOLD: |
| 322 | unregister_mods(MOD_BIT(KC_LALT)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here | 380 | unregister_mods(MOD_BIT(KC_LALT)); // for a layer-tap key, use `layer_off(_MY_LAYER)` here |
| 381 | if (state->interrupted && state->interrupting_keycode == KC_MS_BTN1) { | ||
| 382 | unregister_code16(LALT(KC_MS_BTN1)); | ||
| 383 | } | ||
| 323 | break; | 384 | break; |
| 324 | } | 385 | } |
| 325 | } | 386 | } |
| @@ -328,7 +389,7 @@ void altto11_reset (qk_tap_dance_state_t *state, void *user_data) { | |||
| 328 | qk_tap_dance_action_t tap_dance_actions[] = { | 389 | qk_tap_dance_action_t tap_dance_actions[] = { |
| 329 | [CTRL_TO12] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctrlto12_finished, ctrlto12_reset), | 390 | [CTRL_TO12] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ctrlto12_finished, ctrlto12_reset), |
| 330 | [SHIFT_TO13] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shiftto13_finished, shiftto13_reset), | 391 | [SHIFT_TO13] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, shiftto13_finished, shiftto13_reset), |
| 331 | [ALT_TO11] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altto11_finished, altto11_reset) | 392 | [ALT_TO11] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, altto11_finished, altto11_reset), |
| 332 | }; | 393 | }; |
| 333 | 394 | ||
| 334 | /* Debugging functions */ | 395 | /* Debugging functions */ |
| @@ -342,10 +403,32 @@ void keyboard_post_init_user(void) { | |||
| 342 | } | 403 | } |
| 343 | 404 | ||
| 344 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 405 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 345 | // If console is enabled, it will print the matrix position and status of each key pressed | 406 | // If console is enabled, it will print the matrix position and status of each key pressed |
| 346 | // #ifdef CONSOLE_ENABLE | 407 | // #ifdef CONSOLE_ENABLE |
| 347 | // uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); | 408 | // uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); |
| 348 | // #endif | 409 | // #endif |
| 349 | return true; | 410 | switch (keycode) { |
| 411 | case MS_WH_DOWN: | ||
| 412 | if (record->event.pressed) { | ||
| 413 | SEND_STRING(SS_TAP(X_MS_WH_DOWN)); | ||
| 414 | } | ||
| 415 | break; | ||
| 416 | case MS_WH_UP: | ||
| 417 | if (record->event.pressed) { | ||
| 418 | SEND_STRING(SS_TAP(X_MS_WH_UP)); | ||
| 419 | } | ||
| 420 | break; | ||
| 421 | case MS_WH_LEFT: | ||
| 422 | if (record->event.pressed) { | ||
| 423 | SEND_STRING(SS_TAP(X_MS_WH_LEFT)); | ||
| 424 | } | ||
| 425 | break; | ||
| 426 | case MS_WH_RIGHT: | ||
| 427 | if (record->event.pressed) { | ||
| 428 | SEND_STRING(SS_TAP(X_MS_WH_RIGHT)); | ||
| 429 | } | ||
| 430 | break; | ||
| 431 | } | ||
| 432 | return true; | ||
| 350 | } | 433 | } |
| 351 | 434 | ||
diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/readme.md b/keyboards/ergodox_ez/keymaps/nathanvercaemert/readme.md index 5570d9881..ff3c8d142 100644 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/readme.md +++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/readme.md | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | # The nathanvercaemert ErgoDox EZ configuration | 1 | # The nathanvercaemert ErgoDox EZ configuration |
| 2 | 2 | ||
| 3 | Centered around the home row and the use of mouse keys, this configuration focuses | 3 | Centered around the home row and the use of mouse keys, this configuration focuses on minimal finger movement. No key is more than one unit away from the home row. |
| 4 | on minimal finger movement. No key is more than one unit away from a finger on the home row. | ||
| 5 | 4 | ||
| 6 | ## Layers | 5 | ## Layers |
| 7 | 6 | ||
| @@ -20,7 +19,9 @@ on minimal finger movement. No key is more than one unit away from a finger on t | |||
| 20 | navigation layers. | 19 | navigation layers. |
| 21 | * Navigation Layers | 20 | * Navigation Layers |
| 22 | * From the Mouse Layer, taps to the left home row navigate to scroll keys, arrow keys, and page keys. | 21 | * From the Mouse Layer, taps to the left home row navigate to scroll keys, arrow keys, and page keys. |
| 22 | * Notes on Acceleration | ||
| 23 | * Designated as "Slow" and "Fast" on the mouse layers (movement and scroll,) these keys can be held to allow for slow/precise or fast/efficient control. | ||
| 23 | 24 | ||
| 24 | Here is the image of my keymap: | 25 | Here is the image of my keymap: |
| 25 | 26 | ||
| 26 |  \ No newline at end of file | 27 |  \ No newline at end of file |
diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk b/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk index 31c3fe3c7..0dadd4371 100644 --- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk +++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk | |||
| @@ -5,6 +5,5 @@ COMMAND_ENABLE = no | |||
| 5 | RGBLIGHT_ENABLE = no | 5 | RGBLIGHT_ENABLE = no |
| 6 | TAP_DANCE_ENABLE=yes | 6 | TAP_DANCE_ENABLE=yes |
| 7 | 7 | ||
| 8 | 8 | # Debugging | |
| 9 | #Beginning debugging process for LT() and permissive hold | ||
| 10 | CONSOLE_ENABLE = yes | 9 | CONSOLE_ENABLE = yes |
diff --git a/keyboards/handwired/swiftrax/pandamic/config.h b/keyboards/handwired/swiftrax/pandamic/config.h new file mode 100644 index 000000000..0916bbf1c --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/config.h | |||
| @@ -0,0 +1,52 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 Swiftrax <swiftrax@gmail.com> | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #pragma once | ||
| 19 | |||
| 20 | #include "config_common.h" | ||
| 21 | |||
| 22 | /* USB Device descriptor parameter */ | ||
| 23 | #define VENDOR_ID 0x04D8 | ||
| 24 | #define PRODUCT_ID 0xEB0E | ||
| 25 | #define DEVICE_VER 0x0001 | ||
| 26 | #define MANUFACTURER Swiftrax | ||
| 27 | #define PRODUCT Pandamic | ||
| 28 | |||
| 29 | /* key matrix size */ | ||
| 30 | #define MATRIX_ROWS 10 | ||
| 31 | #define MATRIX_COLS 10 | ||
| 32 | |||
| 33 | // ROWS: Top to bottom, COLS: Left to right | ||
| 34 | |||
| 35 | #define MATRIX_ROW_PINS { D1, D2, B5, B7, D3, D5, D6, D4, D7, B4 } | ||
| 36 | #define MATRIX_COL_PINS { B6, C6, C7, F7, F6, F5, F4, F1, F0, D0 } | ||
| 37 | |||
| 38 | #define ENCODERS_PAD_A { E6 } | ||
| 39 | #define ENCODERS_PAD_B { B0 } | ||
| 40 | |||
| 41 | |||
| 42 | /* COL2ROW or ROW2COL */ | ||
| 43 | #define DIODE_DIRECTION ROW2COL | ||
| 44 | |||
| 45 | /* define if matrix has ghost */ | ||
| 46 | //#define MATRIX_HAS_GHOST | ||
| 47 | |||
| 48 | /* Set 0 if debouncing isn't needed */ | ||
| 49 | #define DEBOUNCE 5 | ||
| 50 | |||
| 51 | /*EEPROM for via*/ | ||
| 52 | #define DYNAMIC_KEYMAP_LAYER_COUNT 3 | ||
diff --git a/keyboards/handwired/swiftrax/pandamic/info.json b/keyboards/handwired/swiftrax/pandamic/info.json new file mode 100644 index 000000000..4446a041d --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/info.json | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Pandamic", | ||
| 3 | "url": "https://github.com/swiftrax", | ||
| 4 | "maintainer": "swiftrax", | ||
| 5 | "width": 20.75, | ||
| 6 | "height": 5.25, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT": { | ||
| 9 | "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4.25, "y":0}, {"x":5.25, "y":0}, {"x":6.25, "y":0}, {"x":7.25, "y":0}, {"x":8.25, "y":0}, {"x":9.25, "y":0}, {"x":10.25, "y":0}, {"x":11.25, "y":0}, {"x":12.25, "y":0}, {"x":13.25, "y":0}, {"x":14.25, "y":0}, {"x":15.25, "y":0}, {"x":16.25, "y":0}, {"x":17.25, "y":0}, {"x":18.25, "y":0}, {"x":19.75, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1, "h":2}, {"x":4.25, "y":1, "w":1.5}, {"x":5.75, "y":1}, {"x":6.75, "y":1}, {"x":7.75, "y":1}, {"x":8.75, "y":1}, {"x":9.75, "y":1}, {"x":10.75, "y":1}, {"x":11.75, "y":1}, {"x":12.75, "y":1}, {"x":13.75, "y":1}, {"x":14.75, "y":1}, {"x":15.75, "y":1}, {"x":16.75, "y":1}, {"x":17.75, "y":1, "w":1.5}, {"x":19.75, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":4.25, "y":2, "w":1.75}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":16, "y":2}, {"x":17, "y":2, "w":2.25}, {"x":19.75, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "h":2}, {"x":4.25, "y":3, "w":1.25}, {"x":5.5, "y":3}, {"x":6.5, "y":3}, {"x":7.5, "y":3}, {"x":8.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}, {"x":12.5, "y":3}, {"x":13.5, "y":3}, {"x":14.5, "y":3}, {"x":15.5, "y":3}, {"x":16.5, "y":3, "w":1.75}, {"x":18.5, "y":3.25}, {"x":19.75, "y":3}, {"x":0, "y":4, "w":2}, {"x":2, "y":4}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4, "w":1.25}, {"x":6.75, "y":4, "w":1.25}, {"x":8, "y":4, "w":6.25}, {"x":14.25, "y":4}, {"x":15.25, "y":4}, {"x":16.25, "y":4}, {"x":17.5, "y":4.25}, {"x":18.5, "y":4.25}, {"x":19.5, "y":4.25}] | ||
| 10 | } | ||
| 11 | } | ||
| 12 | } | ||
diff --git a/keyboards/handwired/swiftrax/pandamic/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/pandamic/keymaps/default/keymap.c new file mode 100644 index 000000000..11e770921 --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/keymaps/default/keymap.c | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | /* Copyright 2020 swiftrax | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
| 19 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
| 20 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
| 21 | // entirely and just use numbers. | ||
| 22 | enum _layer { | ||
| 23 | _MA, | ||
| 24 | _FN | ||
| 25 | }; | ||
| 26 | |||
| 27 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 28 | |||
| 29 | [_MA] = LAYOUT( | ||
| 30 | KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_MUTE, | ||
| 31 | KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, | ||
| 32 | KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END, | ||
| 33 | KC_P1, KC_P2, KC_P3, KC_PENT, KC_LSFT, MO(_FN), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_HOME, | ||
| 34 | KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), | ||
| 35 | [_FN] = LAYOUT( | ||
| 36 | _______, _______, _______, _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, | ||
| 37 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, | ||
| 38 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), | ||
| 41 | }; | ||
| 42 | |||
| 43 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
| 44 | if (clockwise) { | ||
| 45 | tap_code(KC_VOLU); | ||
| 46 | } else { | ||
| 47 | tap_code(KC_VOLD); | ||
| 48 | } | ||
| 49 | } \ No newline at end of file | ||
diff --git a/keyboards/handwired/swiftrax/pandamic/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/pandamic/keymaps/via/keymap.c new file mode 100644 index 000000000..38e455bec --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/keymaps/via/keymap.c | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | /* Copyright 2020 swiftrax | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | |||
| 20 | [0] = LAYOUT( | ||
| 21 | KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_MUTE, | ||
| 22 | KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, | ||
| 23 | KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END, | ||
| 24 | KC_P1, KC_P2, KC_P3, KC_PENT, KC_LSFT, MO(1), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_HOME, | ||
| 25 | KC_P0, KC_PDOT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), | ||
| 26 | [1] = LAYOUT( | ||
| 27 | _______, _______, _______, _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, | ||
| 28 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, | ||
| 29 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 30 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 31 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), | ||
| 32 | [2] = LAYOUT( | ||
| 33 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 34 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 35 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 37 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), | ||
| 38 | }; | ||
| 39 | |||
| 40 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
| 41 | if (clockwise) { | ||
| 42 | tap_code(KC_VOLU); | ||
| 43 | } else { | ||
| 44 | tap_code(KC_VOLD); | ||
| 45 | } | ||
| 46 | } \ No newline at end of file | ||
diff --git a/keyboards/handwired/swiftrax/pandamic/keymaps/via/rules.mk b/keyboards/handwired/swiftrax/pandamic/keymaps/via/rules.mk new file mode 100644 index 000000000..036bd6d1c --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/keymaps/via/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| VIA_ENABLE = yes \ No newline at end of file | |||
diff --git a/keyboards/handwired/swiftrax/pandamic/pandamic.c b/keyboards/handwired/swiftrax/pandamic/pandamic.c new file mode 100644 index 000000000..c718a3373 --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/pandamic.c | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | /* Copyright 2020 swiftrax | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include "pandamic.h" | ||
diff --git a/keyboards/handwired/swiftrax/pandamic/pandamic.h b/keyboards/handwired/swiftrax/pandamic/pandamic.h new file mode 100644 index 000000000..9fbb78427 --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/pandamic.h | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | /* Copyright 2020 swiftrax | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #pragma once | ||
| 17 | |||
| 18 | #include "quantum.h" | ||
| 19 | |||
| 20 | // readability | ||
| 21 | #define XXX KC_NO | ||
| 22 | |||
| 23 | #define LAYOUT( \ | ||
| 24 | K000, K100, K001, K101, K002, K102, K003, K103, K004, K104, K005, K105, K006, K106, K007, K107, K008, K108, K009, K109,\ | ||
| 25 | K200, K300, K201, K301, K202, K302, K203, K303, K204, K304, K205, K305, K206, K306, K207, K307, K208, K308, K309,\ | ||
| 26 | K400, K500, K401, K402, K502, K403, K503, K404, K504, K405, K505, K406, K506, K407, K507, K508, K509,\ | ||
| 27 | K600, K700, K601, K701, K602, K702, K603, K703, K604, K704, K605, K705, K606, K706, K607, K707, K608, K609, K709,\ | ||
| 28 | K800, K801, K802, K902, K803, K805, K807, K907, K808, K908, K809, K909 \ | ||
| 29 | ) { \ | ||
| 30 | {K000, K001, K002, K003, K004, K005, K006, K007, K008, K009},\ | ||
| 31 | {K100, K101, K102, K103, K104, K105, K106, K107, K108, K109},\ | ||
| 32 | {K200, K201, K202, K203, K204, K205, K206, K207, K208, XXX},\ | ||
| 33 | {K300, K301, K302, K303, K304, K305, K306, K307, K308, K309},\ | ||
| 34 | {K400, K401, K402, K403, K404, K405, K406, K407, XXX, XXX},\ | ||
| 35 | {K500, XXX, K502, K503, K504, K505, K506, K507, K508, K509},\ | ||
| 36 | {K600, K601, K602, K603, K604, K605, K606, K607, K608, K609},\ | ||
| 37 | {K700, K701, K702, K703, K704, K705, K706, K707, XXX, K709},\ | ||
| 38 | {K800, K801, K802, K803, XXX, K805, XXX, K807, K808, K809},\ | ||
| 39 | { XXX, XXX, K902, XXX, XXX, XXX, XXX, K907, K908, K909} \ | ||
| 40 | } | ||
diff --git a/keyboards/handwired/swiftrax/pandamic/readme.md b/keyboards/handwired/swiftrax/pandamic/readme.md new file mode 100644 index 000000000..227c2ebe1 --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/readme.md | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | # Pandamic | ||
| 2 | |||
| 3 | A southpaw 65% mechanical keyboard with rotary encoder support | ||
| 4 | |||
| 5 | * Keyboard Maintainer: [Swiftrax](https://github.com/swiftrax) | ||
| 6 | * Hardware Supported: Pandamic | ||
| 7 | * Hardware Availability: [GitHub.com](https://github.com/swiftrax/Pandamic) | ||
| 8 | |||
| 9 | Make example for this keyboard (after setting up your build environment): | ||
| 10 | |||
| 11 | make handwired/swiftrax/pandamic:default | ||
| 12 | |||
| 13 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
diff --git a/keyboards/handwired/swiftrax/pandamic/rules.mk b/keyboards/handwired/swiftrax/pandamic/rules.mk new file mode 100644 index 000000000..f83e0a1fd --- /dev/null +++ b/keyboards/handwired/swiftrax/pandamic/rules.mk | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = atmel-dfu | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration | ||
| 11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 18 | NKRO_ENABLE = no # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 22 | AUDIO_ENABLE = no # Audio output | ||
| 23 | ENCODER_ENABLE = yes # Rotary Encoder | ||
diff --git a/keyboards/jj40/config.h b/keyboards/jj40/config.h index 9a1eadb78..0d168f2c0 100644 --- a/keyboards/jj40/config.h +++ b/keyboards/jj40/config.h | |||
| @@ -16,8 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 16 | 16 | ||
| 17 | #include "config_common.h" | 17 | #include "config_common.h" |
| 18 | 18 | ||
| 19 | #define VENDOR_ID 0x20A0 | 19 | #define VENDOR_ID 0x4B50 // "KP" |
| 20 | #define PRODUCT_ID 0x422D | 20 | #define PRODUCT_ID 0x0040 |
| 21 | #define DEVICE_VER 0x0200 | 21 | #define DEVICE_VER 0x0200 |
| 22 | #define MANUFACTURER KPrepublic | 22 | #define MANUFACTURER KPrepublic |
| 23 | #define PRODUCT JJ40 | 23 | #define PRODUCT JJ40 |
diff --git a/keyboards/kbdfans/maja_soldered/config.h b/keyboards/kbdfans/maja_soldered/config.h new file mode 100755 index 000000000..bc284893d --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/config.h | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | /* Copyright 2020 dztech kbdfans | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #pragma once | ||
| 17 | |||
| 18 | #include "config_common.h" | ||
| 19 | |||
| 20 | #define VENDOR_ID 0x4B42 | ||
| 21 | #define PRODUCT_ID 0x6069 | ||
| 22 | #define DEVICE_VER 0x0001 | ||
| 23 | #define MANUFACTURER KBDFANS | ||
| 24 | #define PRODUCT MAJA_SOLDERED | ||
| 25 | |||
| 26 | #define MATRIX_ROWS 5 | ||
| 27 | #define MATRIX_COLS 15 | ||
| 28 | #define MATRIX_ROW_PINS { F0, B6, D6, B4, D7 } | ||
| 29 | #define MATRIX_COL_PINS { C6, C7, F7, F6, F5, F4, F1, B0, B1, B2, B3, B7, D2, D3, D5 } | ||
| 30 | #define DIODE_DIRECTION COL2ROW | ||
| 31 | |||
| 32 | #define DEBOUNCE 3 | ||
| 33 | |||
| 34 | /* number of backlight levels */ | ||
| 35 | #define BACKLIGHT_PIN B5 | ||
| 36 | #ifdef BACKLIGHT_PIN | ||
| 37 | #define BACKLIGHT_LEVELS 3 | ||
| 38 | #endif | ||
| 39 | |||
| 40 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
| 41 | #define LOCKING_SUPPORT_ENABLE | ||
| 42 | |||
| 43 | /* Locking resynchronize hack */ | ||
| 44 | #define LOCKING_RESYNC_ENABLE | ||
diff --git a/keyboards/kbdfans/maja_soldered/info.json b/keyboards/kbdfans/maja_soldered/info.json new file mode 100644 index 000000000..b583282a9 --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/info.json | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "MAJA_SOLDERED", | ||
| 3 | "url": "", | ||
| 4 | "maintainer": "DZTECH", | ||
| 5 | "width": 18.75, | ||
| 6 | "height": 5.5, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT": { | ||
| 9 | "layout": [ | ||
| 10 | {"x": 0.75, "y": 0.25}, | ||
| 11 | {"x": 1.75, "y": 0.25}, | ||
| 12 | {"x": 2.75, "y": 0}, | ||
| 13 | {"x": 3.75, "y": 0.25}, | ||
| 14 | {"x": 4.75, "y": 0.25}, | ||
| 15 | {"x": 5.75, "y": 0.25}, | ||
| 16 | {"x": 6.75, "y": 0.25}, | ||
| 17 | {"x": 8.75, "y": 0.25}, | ||
| 18 | {"x": 9.75, "y": 0.25}, | ||
| 19 | {"x": 10.75, "y": 0.25}, | ||
| 20 | {"x": 11.75, "y": 0.25}, | ||
| 21 | {"x": 12.75, "y": 0}, | ||
| 22 | {"x": 13.75, "y": 0.25}, | ||
| 23 | {"x": 14.75, "y": 0.25}, | ||
| 24 | {"x": 15.75, "y": 0.25}, | ||
| 25 | {"x": 17.75, "y": 0.25}, | ||
| 26 | {"x": 0.5, "y": 1.25, "w": 1.5}, | ||
| 27 | {"x": 2, "y": 1.25}, | ||
| 28 | {"x": 3, "y": 1.25}, | ||
| 29 | {"x": 4, "y": 1.25}, | ||
| 30 | {"x": 5, "y": 1.25}, | ||
| 31 | {"x": 6, "y": 1.25}, | ||
| 32 | {"x": 8.5, "y": 1.25}, | ||
| 33 | {"x": 9.5, "y": 1.25}, | ||
| 34 | {"x": 10.5, "y": 1.25}, | ||
| 35 | {"x": 11.5, "y": 1.25}, | ||
| 36 | {"x": 12.5, "y": 1.25}, | ||
| 37 | {"x": 13.5, "y": 1.25}, | ||
| 38 | {"x": 14.5, "y": 1.25}, | ||
| 39 | {"x": 15.5, "y": 1.25, "w": 1.5}, | ||
| 40 | {"x": 17.75, "y": 1.25}, | ||
| 41 | {"x": 0.25, "y": 2.25, "w": 1.75}, | ||
| 42 | {"x": 2, "y": 2.25}, | ||
| 43 | {"x": 3, "y": 2.25}, | ||
| 44 | {"x": 4, "y": 2.25}, | ||
| 45 | {"x": 5, "y": 2.25}, | ||
| 46 | {"x": 6, "y": 2.25}, | ||
| 47 | {"x": 9, "y": 2.25}, | ||
| 48 | {"x": 10, "y": 2.25}, | ||
| 49 | {"x": 11, "y": 2.25}, | ||
| 50 | {"x": 12, "y": 2.25}, | ||
| 51 | {"x": 13, "y": 2.25}, | ||
| 52 | {"x": 14, "y": 2.25}, | ||
| 53 | {"x": 15, "y": 2.25, "w": 2.25}, | ||
| 54 | {"x": 17.75, "y": 2.25}, | ||
| 55 | {"x": 0, "y": 3.25, "w": 2.25}, | ||
| 56 | {"x": 2.25, "y": 3.25}, | ||
| 57 | {"x": 3.25, "y": 3.25}, | ||
| 58 | {"x": 4.25, "y": 3.25}, | ||
| 59 | {"x": 5.25, "y": 3.25}, | ||
| 60 | {"x": 6.25, "y": 3.25}, | ||
| 61 | {"x": 8.25, "y": 3.25}, | ||
| 62 | {"x": 9.25, "y": 3.25}, | ||
| 63 | {"x": 10.25, "y": 3.25}, | ||
| 64 | {"x": 11.25, "y": 3.25}, | ||
| 65 | {"x": 12.25, "y": 3.25}, | ||
| 66 | {"x": 13.25, "y": 3.25}, | ||
| 67 | {"x": 14.25, "y": 3.25, "w": 2.25}, | ||
| 68 | {"x": 16.75, "y": 3.5}, | ||
| 69 | {"x": 0, "y": 4.25, "w": 1.5}, | ||
| 70 | {"x": 3, "y": 4.25, "w": 1.5}, | ||
| 71 | {"x": 4.5, "y": 4.25, "w": 2}, | ||
| 72 | {"x": 6.5, "y": 4.25, "w": 1.25}, | ||
| 73 | {"x": 8.25, "y": 4.25, "w": 2.75}, | ||
| 74 | {"x": 11, "y": 4.25, "w": 1.5}, | ||
| 75 | {"x": 15.75, "y": 4.5}, | ||
| 76 | {"x": 16.75, "y": 4.5}, | ||
| 77 | {"x": 17.75, "y": 4.5} | ||
| 78 | ] | ||
| 79 | } | ||
| 80 | } | ||
| 81 | } | ||
diff --git a/keyboards/kbdfans/maja_soldered/keymaps/default/keymap.c b/keyboards/kbdfans/maja_soldered/keymaps/default/keymap.c new file mode 100755 index 000000000..a86004ef7 --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/keymaps/default/keymap.c | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | /* Copyright 2020 dztech kbdfans | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | [0] = LAYOUT( /* Base */ | ||
| 20 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,KC_DEL, KC_HOME, | ||
| 21 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLASH, KC_PGUP, | ||
| 22 | CTL_T(KC_CAPS),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, | ||
| 23 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | ||
| 24 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), | ||
| 25 | [1] = LAYOUT( /* FN */ | ||
| 26 | KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET,KC_TRNS,KC_HOME, | ||
| 27 | KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, | ||
| 28 | CTL_T(KC_CAPS),RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, KC_PGDN, | ||
| 29 | KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, | ||
| 30 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), | ||
| 31 | [2] = LAYOUT( /* FN */ | ||
| 32 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, | ||
| 33 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 34 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 35 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 36 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 37 | [3] = LAYOUT( /* FN */ | ||
| 38 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, | ||
| 39 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 40 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 41 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 42 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 43 | }; | ||
diff --git a/keyboards/kbdfans/maja_soldered/keymaps/via/keymap.c b/keyboards/kbdfans/maja_soldered/keymaps/via/keymap.c new file mode 100755 index 000000000..cf64bec4c --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/keymaps/via/keymap.c | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | /* Copyright 2020 dztech kbdfans | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | [0] = LAYOUT( /* Base */ | ||
| 20 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,KC_DEL, KC_HOME, | ||
| 21 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLASH, KC_PGUP, | ||
| 22 | CTL_T(KC_CAPS),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, | ||
| 23 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(1), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, | ||
| 24 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), | ||
| 25 | [1] = LAYOUT( /* FN */ | ||
| 26 | KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET,KC_TRNS,KC_HOME, | ||
| 27 | KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_PGUP, | ||
| 28 | CTL_T(KC_CAPS),RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, KC_PGDN, | ||
| 29 | KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, | ||
| 30 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), | ||
| 31 | [2] = LAYOUT( | ||
| 32 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, | ||
| 33 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 34 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 35 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 36 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 37 | [3] = LAYOUT( | ||
| 38 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, | ||
| 39 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 40 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 41 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 42 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | ||
| 43 | }; | ||
diff --git a/keyboards/kbdfans/maja_soldered/keymaps/via/rules.mk b/keyboards/kbdfans/maja_soldered/keymaps/via/rules.mk new file mode 100755 index 000000000..36b7ba9cb --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/keymaps/via/rules.mk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | VIA_ENABLE = yes | ||
| 2 | LTO_ENABLE = yes | ||
diff --git a/keyboards/kbdfans/maja_soldered/maja_soldered.c b/keyboards/kbdfans/maja_soldered/maja_soldered.c new file mode 100755 index 000000000..1f0f48c4c --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/maja_soldered.c | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | /* Copyright 2020 dztech kbdfans | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include "maja_soldered.h" | ||
| 17 | |||
| 18 | void matrix_init_kb(void) { | ||
| 19 | setPinOutput(D4); | ||
| 20 | matrix_init_user(); | ||
| 21 | } | ||
| 22 | |||
| 23 | bool led_update_kb(led_t led_state) { | ||
| 24 | bool res = led_update_user(led_state); | ||
| 25 | if(res) { | ||
| 26 | writePin(D4, !led_state.caps_lock); | ||
| 27 | } | ||
| 28 | return res; | ||
| 29 | } | ||
diff --git a/keyboards/kbdfans/maja_soldered/maja_soldered.h b/keyboards/kbdfans/maja_soldered/maja_soldered.h new file mode 100755 index 000000000..4834c2b74 --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/maja_soldered.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "quantum.h" | ||
| 4 | |||
| 5 | #define XXX KC_NO | ||
| 6 | |||
| 7 | #define LAYOUT( \ | ||
| 8 | K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K3E, K0E, \ | ||
| 9 | K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ | ||
| 10 | K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ | ||
| 11 | K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ | ||
| 12 | K40, K42, K43, K45, K47, K49, K4C, K4D, K4E \ | ||
| 13 | ) { \ | ||
| 14 | { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ | ||
| 15 | { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ | ||
| 16 | { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ | ||
| 17 | { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \ | ||
| 18 | { K40, XXX, K42, K43, XXX, K45, XXX, K47, XXX, K49, XXX, XXX, K4C, K4D, K4E } \ | ||
| 19 | } | ||
diff --git a/keyboards/kbdfans/maja_soldered/readme.md b/keyboards/kbdfans/maja_soldered/readme.md new file mode 100755 index 000000000..f19c1d740 --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/readme.md | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | # MAJA_SOLDERED | ||
| 2 | |||
| 3 |  | ||
| 4 |  | ||
| 5 | |||
| 6 | * Keyboard Maintainer: [DZTECH](https://github.com/moyi4681) | ||
| 7 | * Hardware Supported: MAJA_SOLDERED | ||
| 8 | * Hardware Availability: [KBDFans](https://kbdfans.cn/) | ||
| 9 | |||
| 10 | Make example for this keyboard (after setting up your build environment): | ||
| 11 | |||
| 12 | make kbdfans/maja_soldered:default | ||
| 13 | |||
| 14 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
diff --git a/keyboards/kbdfans/maja_soldered/rules.mk b/keyboards/kbdfans/maja_soldered/rules.mk new file mode 100755 index 000000000..6cd4d9260 --- /dev/null +++ b/keyboards/kbdfans/maja_soldered/rules.mk | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = atmel-dfu | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration | ||
| 11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 18 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | ||
| 20 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 21 | AUDIO_ENABLE = no # Audio output | ||
| 22 | NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in | ||
diff --git a/keyboards/lazydesigners/bolt/via/keymap.c b/keyboards/lazydesigners/bolt/via/keymap.c new file mode 100644 index 000000000..a977f9c38 --- /dev/null +++ b/keyboards/lazydesigners/bolt/via/keymap.c | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | /* Copyright 2020 LAZYDESIGNERS | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | [0] = LAYOUT( | ||
| 20 | KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
| 21 | KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, | ||
| 22 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, MO(2), | ||
| 23 | KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT | ||
| 24 | ), | ||
| 25 | [1] = LAYOUT( | ||
| 26 | RESET, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, | ||
| 27 | KC_INS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 28 | KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 29 | KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO | ||
| 30 | ), | ||
| 31 | [2] = LAYOUT( | ||
| 32 | RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 33 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 34 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 35 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO | ||
| 36 | ), | ||
| 37 | [3] = LAYOUT( | ||
| 38 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 39 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 40 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 41 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO | ||
| 42 | ), | ||
| 43 | }; | ||
diff --git a/keyboards/lazydesigners/bolt/via/rules.mk b/keyboards/lazydesigners/bolt/via/rules.mk new file mode 100644 index 000000000..36b7ba9cb --- /dev/null +++ b/keyboards/lazydesigners/bolt/via/rules.mk | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | VIA_ENABLE = yes | ||
| 2 | LTO_ENABLE = yes | ||
diff --git a/keyboards/maartenwut/solheim68/config.h b/keyboards/maartenwut/solheim68/config.h new file mode 100644 index 000000000..cb2070e87 --- /dev/null +++ b/keyboards/maartenwut/solheim68/config.h | |||
| @@ -0,0 +1,143 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include "config_common.h" | ||
| 20 | |||
| 21 | /* USB Device descriptor parameter */ | ||
| 22 | #define VENDOR_ID 0x4705 | ||
| 23 | #define PRODUCT_ID 0x7BFF | ||
| 24 | #define DEVICE_VER 0x0001 | ||
| 25 | #define MANUFACTURER Maartenwut | ||
| 26 | #define PRODUCT Solheim68 | ||
| 27 | |||
| 28 | /* key matrix size */ | ||
| 29 | #define MATRIX_ROWS 5 | ||
| 30 | #define MATRIX_COLS 16 | ||
| 31 | |||
| 32 | /* | ||
| 33 | * Keyboard Matrix Assignments | ||
| 34 | * | ||
| 35 | * Change this to how you wired your keyboard | ||
| 36 | * COLS: AVR pins used for columns, left to right | ||
| 37 | * ROWS: AVR pins used for rows, top to bottom | ||
| 38 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
| 39 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
| 40 | * | ||
| 41 | */ | ||
| 42 | #define MATRIX_ROW_PINS {E6,B0,B1,B2,B3} | ||
| 43 | #define MATRIX_COL_PINS {F0,F1,F4,F5,F6,F7,C7,C6,B6,B5,B4,D7,D6,D4,D5,D3} | ||
| 44 | #define UNUSED_PINS {B7,D0,D1,D2} | ||
| 45 | |||
| 46 | /* COL2ROW, ROW2COL*/ | ||
| 47 | #define DIODE_DIRECTION COL2ROW | ||
| 48 | |||
| 49 | /* | ||
| 50 | * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | ||
| 51 | */ | ||
| 52 | // #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 | ||
| 53 | |||
| 54 | // #define BACKLIGHT_PIN B7 | ||
| 55 | // #define BACKLIGHT_BREATHING | ||
| 56 | // #define BACKLIGHT_LEVELS 3 | ||
| 57 | |||
| 58 | // #define RGB_DI_PIN E2 | ||
| 59 | // #ifdef RGB_DI_PIN | ||
| 60 | // #define RGBLED_NUM 16 | ||
| 61 | // #define RGBLIGHT_HUE_STEP 8 | ||
| 62 | // #define RGBLIGHT_SAT_STEP 8 | ||
| 63 | // #define RGBLIGHT_VAL_STEP 8 | ||
| 64 | // #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ | ||
| 65 | // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ | ||
| 66 | // /*== all animations enable ==*/ | ||
| 67 | // #define RGBLIGHT_ANIMATIONS | ||
| 68 | // /*== or choose animations ==*/ | ||
| 69 | // #define RGBLIGHT_EFFECT_BREATHING | ||
| 70 | // #define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
| 71 | // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
| 72 | // #define RGBLIGHT_EFFECT_SNAKE | ||
| 73 | // #define RGBLIGHT_EFFECT_KNIGHT | ||
| 74 | // #define RGBLIGHT_EFFECT_CHRISTMAS | ||
| 75 | // #define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
| 76 | // #define RGBLIGHT_EFFECT_RGB_TEST | ||
| 77 | // #define RGBLIGHT_EFFECT_ALTERNATING | ||
| 78 | // /*== customize breathing effect ==*/ | ||
| 79 | // /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||
| 80 | // #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 | ||
| 81 | // /*==== use exp() and sin() ====*/ | ||
| 82 | // #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 | ||
| 83 | // #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 | ||
| 84 | // #endif | ||
| 85 | |||
| 86 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
| 87 | #define DEBOUNCE 5 | ||
| 88 | |||
| 89 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
| 90 | //#define MATRIX_HAS_GHOST | ||
| 91 | |||
| 92 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
| 93 | #define LOCKING_SUPPORT_ENABLE | ||
| 94 | /* Locking resynchronize hack */ | ||
| 95 | #define LOCKING_RESYNC_ENABLE | ||
| 96 | |||
| 97 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
| 98 | * This is userful for the Windows task manager shortcut (ctrl+shift+esc). | ||
| 99 | */ | ||
| 100 | // #define GRAVE_ESC_CTRL_OVERRIDE | ||
| 101 | |||
| 102 | /* | ||
| 103 | * Force NKRO | ||
| 104 | * | ||
| 105 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
| 106 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
| 107 | * makefile for this to work.) | ||
| 108 | * | ||
| 109 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
| 110 | * until the next keyboard reset. | ||
| 111 | * | ||
| 112 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
| 113 | * fully operational during normal computer usage. | ||
| 114 | * | ||
| 115 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
| 116 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
| 117 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
| 118 | * power-up. | ||
| 119 | * | ||
| 120 | */ | ||
| 121 | //#define FORCE_NKRO | ||
| 122 | |||
| 123 | /* | ||
| 124 | * Feature disable options | ||
| 125 | * These options are also useful to firmware size reduction. | ||
| 126 | */ | ||
| 127 | |||
| 128 | /* disable debug print */ | ||
| 129 | //#define NO_DEBUG | ||
| 130 | |||
| 131 | /* disable print */ | ||
| 132 | //#define NO_PRINT | ||
| 133 | |||
| 134 | /* disable action features */ | ||
| 135 | //#define NO_ACTION_LAYER | ||
| 136 | //#define NO_ACTION_TAPPING | ||
| 137 | //#define NO_ACTION_ONESHOT | ||
| 138 | //#define NO_ACTION_MACRO | ||
| 139 | //#define NO_ACTION_FUNCTION | ||
| 140 | |||
| 141 | /* Bootmagic Lite key configuration */ | ||
| 142 | // #define BOOTMAGIC_LITE_ROW 0 | ||
| 143 | // #define BOOTMAGIC_LITE_COLUMN 0 | ||
diff --git a/keyboards/maartenwut/solheim68/info.json b/keyboards/maartenwut/solheim68/info.json new file mode 100644 index 000000000..14a4a36f5 --- /dev/null +++ b/keyboards/maartenwut/solheim68/info.json | |||
| @@ -0,0 +1,397 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Solheim68", | ||
| 3 | "url": "https://github.com/Maartenwut/solheim68", | ||
| 4 | "maintainer": "maartenwut", | ||
| 5 | "width": 17.25, | ||
| 6 | "height": 5, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT_all": { | ||
| 9 | "layout": [ | ||
| 10 | {"x":0, "y":0}, | ||
| 11 | {"x":1, "y":0}, | ||
| 12 | {"x":2, "y":0}, | ||
| 13 | {"x":3, "y":0}, | ||
| 14 | {"x":4, "y":0}, | ||
| 15 | {"x":5, "y":0}, | ||
| 16 | {"x":6, "y":0}, | ||
| 17 | {"x":7, "y":0}, | ||
| 18 | {"x":8, "y":0}, | ||
| 19 | {"x":9, "y":0}, | ||
| 20 | {"x":10, "y":0}, | ||
| 21 | {"x":11, "y":0}, | ||
| 22 | {"x":12, "y":0}, | ||
| 23 | {"x":13, "y":0}, | ||
| 24 | {"x":14, "y":0}, | ||
| 25 | {"x":15.25, "y":0}, | ||
| 26 | {"x":16.25, "y":0}, | ||
| 27 | |||
| 28 | {"x":0, "y":1, "w":1.5}, | ||
| 29 | {"x":1.5, "y":1}, | ||
| 30 | {"x":2.5, "y":1}, | ||
| 31 | {"x":3.5, "y":1}, | ||
| 32 | {"x":4.5, "y":1}, | ||
| 33 | {"x":5.5, "y":1}, | ||
| 34 | {"x":6.5, "y":1}, | ||
| 35 | {"x":7.5, "y":1}, | ||
| 36 | {"x":8.5, "y":1}, | ||
| 37 | {"x":9.5, "y":1}, | ||
| 38 | {"x":10.5, "y":1}, | ||
| 39 | {"x":11.5, "y":1}, | ||
| 40 | {"x":12.5, "y":1}, | ||
| 41 | {"x":13.5, "y":1, "w":1.5}, | ||
| 42 | {"x":15.25, "y":1}, | ||
| 43 | {"x":16.25, "y":1}, | ||
| 44 | |||
| 45 | {"x":0, "y":2, "w":1.75}, | ||
| 46 | {"x":1.75, "y":2}, | ||
| 47 | {"x":2.75, "y":2}, | ||
| 48 | {"x":3.75, "y":2}, | ||
| 49 | {"x":4.75, "y":2}, | ||
| 50 | {"x":5.75, "y":2}, | ||
| 51 | {"x":6.75, "y":2}, | ||
| 52 | {"x":7.75, "y":2}, | ||
| 53 | {"x":8.75, "y":2}, | ||
| 54 | {"x":9.75, "y":2}, | ||
| 55 | {"x":10.75, "y":2}, | ||
| 56 | {"x":11.75, "y":2}, | ||
| 57 | {"x":12.75, "y":2}, | ||
| 58 | {"x":13.75, "y":2, "w":1.25}, | ||
| 59 | |||
| 60 | {"x":0, "y":3, "w":1.25}, | ||
| 61 | {"x":1.25, "y":3}, | ||
| 62 | {"x":2.25, "y":3}, | ||
| 63 | {"x":3.25, "y":3}, | ||
| 64 | {"x":4.25, "y":3}, | ||
| 65 | {"x":5.25, "y":3}, | ||
| 66 | {"x":6.25, "y":3}, | ||
| 67 | {"x":7.25, "y":3}, | ||
| 68 | {"x":8.25, "y":3}, | ||
| 69 | {"x":9.25, "y":3}, | ||
| 70 | {"x":10.25, "y":3}, | ||
| 71 | {"x":11.25, "y":3}, | ||
| 72 | {"x":12.25, "y":3, "w":1.75}, | ||
| 73 | {"x":14, "y":3}, | ||
| 74 | {"x":15.25, "y":3}, | ||
| 75 | |||
| 76 | {"x":0, "y":4, "w":1.25}, | ||
| 77 | {"x":1.25, "y":4, "w":1.25}, | ||
| 78 | {"x":2.5, "y":4, "w":1.25}, | ||
| 79 | {"x":3.75, "y":4, "w":6.25}, | ||
| 80 | {"x":10, "y":4, "w":1.25}, | ||
| 81 | {"x":11.25, "y":4, "w":1.25}, | ||
| 82 | {"x":12.5, "y":4, "w":1.25}, | ||
| 83 | {"x":14.25, "y":4}, | ||
| 84 | {"x":15.25, "y":4}, | ||
| 85 | {"x":16.25, "y":4} | ||
| 86 | ] | ||
| 87 | }, | ||
| 88 | "LAYOUT_68_ansi": { | ||
| 89 | "layout": [ | ||
| 90 | {"x":0, "y":0}, | ||
| 91 | {"x":1, "y":0}, | ||
| 92 | {"x":2, "y":0}, | ||
| 93 | {"x":3, "y":0}, | ||
| 94 | {"x":4, "y":0}, | ||
| 95 | {"x":5, "y":0}, | ||
| 96 | {"x":6, "y":0}, | ||
| 97 | {"x":7, "y":0}, | ||
| 98 | {"x":8, "y":0}, | ||
| 99 | {"x":9, "y":0}, | ||
| 100 | {"x":10, "y":0}, | ||
| 101 | {"x":11, "y":0}, | ||
| 102 | {"x":12, "y":0}, | ||
| 103 | {"x":13, "y":0, "w":2}, | ||
| 104 | {"x":15.25, "y":0}, | ||
| 105 | {"x":16.25, "y":0}, | ||
| 106 | |||
| 107 | {"x":0, "y":1, "w":1.5}, | ||
| 108 | {"x":1.5, "y":1}, | ||
| 109 | {"x":2.5, "y":1}, | ||
| 110 | {"x":3.5, "y":1}, | ||
| 111 | {"x":4.5, "y":1}, | ||
| 112 | {"x":5.5, "y":1}, | ||
| 113 | {"x":6.5, "y":1}, | ||
| 114 | {"x":7.5, "y":1}, | ||
| 115 | {"x":8.5, "y":1}, | ||
| 116 | {"x":9.5, "y":1}, | ||
| 117 | {"x":10.5, "y":1}, | ||
| 118 | {"x":11.5, "y":1}, | ||
| 119 | {"x":12.5, "y":1}, | ||
| 120 | {"x":13.5, "y":1, "w":1.5}, | ||
| 121 | {"x":15.25, "y":1}, | ||
| 122 | {"x":16.25, "y":1}, | ||
| 123 | |||
| 124 | {"x":0, "y":2, "w":1.75}, | ||
| 125 | {"x":1.75, "y":2}, | ||
| 126 | {"x":2.75, "y":2}, | ||
| 127 | {"x":3.75, "y":2}, | ||
| 128 | {"x":4.75, "y":2}, | ||
| 129 | {"x":5.75, "y":2}, | ||
| 130 | {"x":6.75, "y":2}, | ||
| 131 | {"x":7.75, "y":2}, | ||
| 132 | {"x":8.75, "y":2}, | ||
| 133 | {"x":9.75, "y":2}, | ||
| 134 | {"x":10.75, "y":2}, | ||
| 135 | {"x":11.75, "y":2}, | ||
| 136 | {"x":12.75, "y":2, "w":2.25}, | ||
| 137 | |||
| 138 | {"x":0, "y":3, "w":2.25}, | ||
| 139 | {"x":2.25, "y":3}, | ||
| 140 | {"x":3.25, "y":3}, | ||
| 141 | {"x":4.25, "y":3}, | ||
| 142 | {"x":5.25, "y":3}, | ||
| 143 | {"x":6.25, "y":3}, | ||
| 144 | {"x":7.25, "y":3}, | ||
| 145 | {"x":8.25, "y":3}, | ||
| 146 | {"x":9.25, "y":3}, | ||
| 147 | {"x":10.25, "y":3}, | ||
| 148 | {"x":11.25, "y":3}, | ||
| 149 | {"x":12.25, "y":3, "w":2.75}, | ||
| 150 | {"x":15.25, "y":3}, | ||
| 151 | |||
| 152 | {"x":0, "y":4, "w":1.25}, | ||
| 153 | {"x":1.25, "y":4, "w":1.25}, | ||
| 154 | {"x":2.5, "y":4, "w":1.25}, | ||
| 155 | {"x":3.75, "y":4, "w":6.25}, | ||
| 156 | {"x":10, "y":4, "w":1.25}, | ||
| 157 | {"x":11.25, "y":4, "w":1.25}, | ||
| 158 | {"x":12.5, "y":4, "w":1.25}, | ||
| 159 | {"x":14.25, "y":4}, | ||
| 160 | {"x":15.25, "y":4}, | ||
| 161 | {"x":16.25, "y":4} | ||
| 162 | ] | ||
| 163 | }, | ||
| 164 | "LAYOUT_68_iso": { | ||
| 165 | "layout": [ | ||
| 166 | {"x":0, "y":0}, | ||
| 167 | {"x":1, "y":0}, | ||
| 168 | {"x":2, "y":0}, | ||
| 169 | {"x":3, "y":0}, | ||
| 170 | {"x":4, "y":0}, | ||
| 171 | {"x":5, "y":0}, | ||
| 172 | {"x":6, "y":0}, | ||
| 173 | {"x":7, "y":0}, | ||
| 174 | {"x":8, "y":0}, | ||
| 175 | {"x":9, "y":0}, | ||
| 176 | {"x":10, "y":0}, | ||
| 177 | {"x":11, "y":0}, | ||
| 178 | {"x":12, "y":0}, | ||
| 179 | {"x":13, "y":0, "w":2}, | ||
| 180 | {"x":15.25, "y":0}, | ||
| 181 | {"x":16.25, "y":0}, | ||
| 182 | |||
| 183 | {"x":0, "y":1, "w":1.5}, | ||
| 184 | {"x":1.5, "y":1}, | ||
| 185 | {"x":2.5, "y":1}, | ||
| 186 | {"x":3.5, "y":1}, | ||
| 187 | {"x":4.5, "y":1}, | ||
| 188 | {"x":5.5, "y":1}, | ||
| 189 | {"x":6.5, "y":1}, | ||
| 190 | {"x":7.5, "y":1}, | ||
| 191 | {"x":8.5, "y":1}, | ||
| 192 | {"x":9.5, "y":1}, | ||
| 193 | {"x":10.5, "y":1}, | ||
| 194 | {"x":11.5, "y":1}, | ||
| 195 | {"x":12.5, "y":1}, | ||
| 196 | {"x":15.25, "y":1}, | ||
| 197 | {"x":16.25, "y":1}, | ||
| 198 | |||
| 199 | {"x":0, "y":2, "w":1.75}, | ||
| 200 | {"x":1.75, "y":2}, | ||
| 201 | {"x":2.75, "y":2}, | ||
| 202 | {"x":3.75, "y":2}, | ||
| 203 | {"x":4.75, "y":2}, | ||
| 204 | {"x":5.75, "y":2}, | ||
| 205 | {"x":6.75, "y":2}, | ||
| 206 | {"x":7.75, "y":2}, | ||
| 207 | {"x":8.75, "y":2}, | ||
| 208 | {"x":9.75, "y":2}, | ||
| 209 | {"x":10.75, "y":2}, | ||
| 210 | {"x":11.75, "y":2}, | ||
| 211 | {"x":12.75, "y":2}, | ||
| 212 | {"x":13.75, "y":1, "w":1.25, "h":2}, | ||
| 213 | |||
| 214 | {"x":0, "y":3, "w":1.25}, | ||
| 215 | {"x":1.25, "y":3}, | ||
| 216 | {"x":2.25, "y":3}, | ||
| 217 | {"x":3.25, "y":3}, | ||
| 218 | {"x":4.25, "y":3}, | ||
| 219 | {"x":5.25, "y":3}, | ||
| 220 | {"x":6.25, "y":3}, | ||
| 221 | {"x":7.25, "y":3}, | ||
| 222 | {"x":8.25, "y":3}, | ||
| 223 | {"x":9.25, "y":3}, | ||
| 224 | {"x":10.25, "y":3}, | ||
| 225 | {"x":11.25, "y":3}, | ||
| 226 | {"x":12.25, "y":3, "w":2.75}, | ||
| 227 | {"x":15.25, "y":3}, | ||
| 228 | |||
| 229 | {"x":0, "y":4, "w":1.25}, | ||
| 230 | {"x":1.25, "y":4, "w":1.25}, | ||
| 231 | {"x":2.5, "y":4, "w":1.25}, | ||
| 232 | {"x":3.75, "y":4, "w":6.25}, | ||
| 233 | {"x":10, "y":4, "w":1.25}, | ||
| 234 | {"x":11.25, "y":4, "w":1.25}, | ||
| 235 | {"x":12.5, "y":4, "w":1.25}, | ||
| 236 | {"x":14.25, "y":4}, | ||
| 237 | {"x":15.25, "y":4}, | ||
| 238 | {"x":16.25, "y":4} | ||
| 239 | ] | ||
| 240 | }, | ||
| 241 | "LAYOUT_68_ansi_split_rshift": { | ||
| 242 | "layout": [ | ||
| 243 | {"x":0, "y":0}, | ||
| 244 | {"x":1, "y":0}, | ||
| 245 | {"x":2, "y":0}, | ||
| 246 | {"x":3, "y":0}, | ||
| 247 | {"x":4, "y":0}, | ||
| 248 | {"x":5, "y":0}, | ||
| 249 | {"x":6, "y":0}, | ||
| 250 | {"x":7, "y":0}, | ||
| 251 | {"x":8, "y":0}, | ||
| 252 | {"x":9, "y":0}, | ||
| 253 | {"x":10, "y":0}, | ||
| 254 | {"x":11, "y":0}, | ||
| 255 | {"x":12, "y":0}, | ||
| 256 | {"x":13, "y":0, "w":2}, | ||
| 257 | {"x":15.25, "y":0}, | ||
| 258 | {"x":16.25, "y":0}, | ||
| 259 | |||
| 260 | {"x":0, "y":1, "w":1.5}, | ||
| 261 | {"x":1.5, "y":1}, | ||
| 262 | {"x":2.5, "y":1}, | ||
| 263 | {"x":3.5, "y":1}, | ||
| 264 | {"x":4.5, "y":1}, | ||
| 265 | {"x":5.5, "y":1}, | ||
| 266 | {"x":6.5, "y":1}, | ||
| 267 | {"x":7.5, "y":1}, | ||
| 268 | {"x":8.5, "y":1}, | ||
| 269 | {"x":9.5, "y":1}, | ||
| 270 | {"x":10.5, "y":1}, | ||
| 271 | {"x":11.5, "y":1}, | ||
| 272 | {"x":12.5, "y":1}, | ||
| 273 | {"x":13.5, "y":1, "w":1.5}, | ||
| 274 | {"x":15.25, "y":1}, | ||
| 275 | {"x":16.25, "y":1}, | ||
| 276 | |||
| 277 | {"x":0, "y":2, "w":1.75}, | ||
| 278 | {"x":1.75, "y":2}, | ||
| 279 | {"x":2.75, "y":2}, | ||
| 280 | {"x":3.75, "y":2}, | ||
| 281 | {"x":4.75, "y":2}, | ||
| 282 | {"x":5.75, "y":2}, | ||
| 283 | {"x":6.75, "y":2}, | ||
| 284 | {"x":7.75, "y":2}, | ||
| 285 | {"x":8.75, "y":2}, | ||
| 286 | {"x":9.75, "y":2}, | ||
| 287 | {"x":10.75, "y":2}, | ||
| 288 | {"x":11.75, "y":2}, | ||
| 289 | {"x":12.75, "y":2, "w":2.25}, | ||
| 290 | |||
| 291 | {"x":0, "y":3, "w":2.25}, | ||
| 292 | {"x":2.25, "y":3}, | ||
| 293 | {"x":3.25, "y":3}, | ||
| 294 | {"x":4.25, "y":3}, | ||
| 295 | {"x":5.25, "y":3}, | ||
| 296 | {"x":6.25, "y":3}, | ||
| 297 | {"x":7.25, "y":3}, | ||
| 298 | {"x":8.25, "y":3}, | ||
| 299 | {"x":9.25, "y":3}, | ||
| 300 | {"x":10.25, "y":3}, | ||
| 301 | {"x":11.25, "y":3}, | ||
| 302 | {"x":12.25, "y":3, "w":1.75}, | ||
| 303 | {"x":14, "y":3}, | ||
| 304 | {"x":15.25, "y":3}, | ||
| 305 | |||
| 306 | {"x":0, "y":4, "w":1.25}, | ||
| 307 | {"x":1.25, "y":4, "w":1.25}, | ||
| 308 | {"x":2.5, "y":4, "w":1.25}, | ||
| 309 | {"x":3.75, "y":4, "w":6.25}, | ||
| 310 | {"x":10, "y":4, "w":1.25}, | ||
| 311 | {"x":11.25, "y":4, "w":1.25}, | ||
| 312 | {"x":12.5, "y":4, "w":1.25}, | ||
| 313 | {"x":14.25, "y":4}, | ||
| 314 | {"x":15.25, "y":4}, | ||
| 315 | {"x":16.25, "y":4} | ||
| 316 | ] | ||
| 317 | }, | ||
| 318 | "LAYOUT_68_iso_split_rshift": { | ||
| 319 | "layout": [ | ||
| 320 | {"x":0, "y":0}, | ||
| 321 | {"x":1, "y":0}, | ||
| 322 | {"x":2, "y":0}, | ||
| 323 | {"x":3, "y":0}, | ||
| 324 | {"x":4, "y":0}, | ||
| 325 | {"x":5, "y":0}, | ||
| 326 | {"x":6, "y":0}, | ||
| 327 | {"x":7, "y":0}, | ||
| 328 | {"x":8, "y":0}, | ||
| 329 | {"x":9, "y":0}, | ||
| 330 | {"x":10, "y":0}, | ||
| 331 | {"x":11, "y":0}, | ||
| 332 | {"x":12, "y":0}, | ||
| 333 | {"x":13, "y":0, "w":2}, | ||
| 334 | {"x":15.25, "y":0}, | ||
| 335 | {"x":16.25, "y":0}, | ||
| 336 | |||
| 337 | {"x":0, "y":1, "w":1.5}, | ||
| 338 | {"x":1.5, "y":1}, | ||
| 339 | {"x":2.5, "y":1}, | ||
| 340 | {"x":3.5, "y":1}, | ||
| 341 | {"x":4.5, "y":1}, | ||
| 342 | {"x":5.5, "y":1}, | ||
| 343 | {"x":6.5, "y":1}, | ||
| 344 | {"x":7.5, "y":1}, | ||
| 345 | {"x":8.5, "y":1}, | ||
| 346 | {"x":9.5, "y":1}, | ||
| 347 | {"x":10.5, "y":1}, | ||
| 348 | {"x":11.5, "y":1}, | ||
| 349 | {"x":12.5, "y":1}, | ||
| 350 | {"x":15.25, "y":1}, | ||
| 351 | {"x":16.25, "y":1}, | ||
| 352 | |||
| 353 | {"x":0, "y":2, "w":1.75}, | ||
| 354 | {"x":1.75, "y":2}, | ||
| 355 | {"x":2.75, "y":2}, | ||
| 356 | {"x":3.75, "y":2}, | ||
| 357 | {"x":4.75, "y":2}, | ||
| 358 | {"x":5.75, "y":2}, | ||
| 359 | {"x":6.75, "y":2}, | ||
| 360 | {"x":7.75, "y":2}, | ||
| 361 | {"x":8.75, "y":2}, | ||
| 362 | {"x":9.75, "y":2}, | ||
| 363 | {"x":10.75, "y":2}, | ||
| 364 | {"x":11.75, "y":2}, | ||
| 365 | {"x":12.75, "y":2}, | ||
| 366 | {"x":13.75, "y":1, "w":1.25, "h":2}, | ||
| 367 | |||
| 368 | {"x":0, "y":3, "w":1.25}, | ||
| 369 | {"x":1.25, "y":3}, | ||
| 370 | {"x":2.25, "y":3}, | ||
| 371 | {"x":3.25, "y":3}, | ||
| 372 | {"x":4.25, "y":3}, | ||
| 373 | {"x":5.25, "y":3}, | ||
| 374 | {"x":6.25, "y":3}, | ||
| 375 | {"x":7.25, "y":3}, | ||
| 376 | {"x":8.25, "y":3}, | ||
| 377 | {"x":9.25, "y":3}, | ||
| 378 | {"x":10.25, "y":3}, | ||
| 379 | {"x":11.25, "y":3}, | ||
| 380 | {"x":12.25, "y":3, "w":1.75}, | ||
| 381 | {"x":14, "y":3}, | ||
| 382 | {"x":15.25, "y":3}, | ||
| 383 | |||
| 384 | {"x":0, "y":4, "w":1.25}, | ||
| 385 | {"x":1.25, "y":4, "w":1.25}, | ||
| 386 | {"x":2.5, "y":4, "w":1.25}, | ||
| 387 | {"x":3.75, "y":4, "w":6.25}, | ||
| 388 | {"x":10, "y":4, "w":1.25}, | ||
| 389 | {"x":11.25, "y":4, "w":1.25}, | ||
| 390 | {"x":12.5, "y":4, "w":1.25}, | ||
| 391 | {"x":14.25, "y":4}, | ||
| 392 | {"x":15.25, "y":4}, | ||
| 393 | {"x":16.25, "y":4} | ||
| 394 | ] | ||
| 395 | } | ||
| 396 | } | ||
| 397 | } \ No newline at end of file | ||
diff --git a/keyboards/maartenwut/solheim68/keymaps/default/keymap.c b/keyboards/maartenwut/solheim68/keymaps/default/keymap.c new file mode 100644 index 000000000..728e8019a --- /dev/null +++ b/keyboards/maartenwut/solheim68/keymaps/default/keymap.c | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | [0] = LAYOUT_all( | ||
| 20 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_MPLY, KC_HOME, | ||
| 21 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, | ||
| 22 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, | ||
| 23 | KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, | ||
| 24 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), | ||
| 25 | [1] = LAYOUT_all( | ||
| 26 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_PSCR, KC_PGUP, | ||
| 27 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, | ||
| 28 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 29 | _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, | ||
| 30 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), | ||
| 31 | }; | ||
diff --git a/keyboards/maartenwut/solheim68/keymaps/default/readme.md b/keyboards/maartenwut/solheim68/keymaps/default/readme.md new file mode 100644 index 000000000..6e9745403 --- /dev/null +++ b/keyboards/maartenwut/solheim68/keymaps/default/readme.md | |||
| @@ -0,0 +1 @@ | |||
| This is the default keymap for the Solheim68. \ No newline at end of file | |||
diff --git a/keyboards/maartenwut/solheim68/readme.md b/keyboards/maartenwut/solheim68/readme.md new file mode 100644 index 000000000..1cf0ee946 --- /dev/null +++ b/keyboards/maartenwut/solheim68/readme.md | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | # Solheim68 | ||
| 2 | |||
| 3 | A replacement PCB for the VA68M (v2) with Mini-USB. | ||
| 4 | |||
| 5 | * Keyboard Maintainer: [Maartenwut](https://github.com/Maartenwut) | ||
| 6 | * Hardware Supported: Solheim68 PCB | ||
| 7 | * Hardware Availability: [Open source on GitHub](https://github.com/Maartenwut/solheim68) | ||
| 8 | |||
| 9 | Make example for this keyboard (after setting up your build environment): | ||
| 10 | |||
| 11 | make maartenwut/solheim68:default | ||
| 12 | |||
| 13 | Flashing example for this keyboard: | ||
| 14 | |||
| 15 | make maartenwut/solheim68:default:flash | ||
| 16 | |||
| 17 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
diff --git a/keyboards/maartenwut/solheim68/rules.mk b/keyboards/maartenwut/solheim68/rules.mk new file mode 100644 index 000000000..a90eef1fc --- /dev/null +++ b/keyboards/maartenwut/solheim68/rules.mk | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = atmel-dfu | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration | ||
| 11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 18 | NKRO_ENABLE = no # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 22 | AUDIO_ENABLE = no # Audio output | ||
diff --git a/keyboards/maartenwut/solheim68/solheim68.c b/keyboards/maartenwut/solheim68/solheim68.c new file mode 100644 index 000000000..27f90f4e8 --- /dev/null +++ b/keyboards/maartenwut/solheim68/solheim68.c | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include "solheim68.h" | ||
diff --git a/keyboards/maartenwut/solheim68/solheim68.h b/keyboards/maartenwut/solheim68/solheim68.h new file mode 100644 index 000000000..2f6339bd1 --- /dev/null +++ b/keyboards/maartenwut/solheim68/solheim68.h | |||
| @@ -0,0 +1,102 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #pragma once | ||
| 17 | |||
| 18 | #include "quantum.h" | ||
| 19 | #define XXX KC_NO | ||
| 20 | |||
| 21 | /* This a shortcut to help you visually see your layout. | ||
| 22 | * | ||
| 23 | * The first section contains all of the arguments representing the physical | ||
| 24 | * layout of the board and position of the keys. | ||
| 25 | * | ||
| 26 | * The second converts the arguments into a two-dimensional array which | ||
| 27 | * represents the switch matrix. | ||
| 28 | */ | ||
| 29 | #define LAYOUT_all( \ | ||
| 30 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k2e, k0d, k0e, k0f, \ | ||
| 31 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ | ||
| 32 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ | ||
| 33 | k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ | ||
| 34 | k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \ | ||
| 35 | ) \ | ||
| 36 | { \ | ||
| 37 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ | ||
| 38 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ | ||
| 39 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, XXX }, \ | ||
| 40 | { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \ | ||
| 41 | { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \ | ||
| 42 | } | ||
| 43 | |||
| 44 | #define LAYOUT_68_ansi( \ | ||
| 45 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ | ||
| 46 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ | ||
| 47 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ | ||
| 48 | k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3e, \ | ||
| 49 | k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \ | ||
| 50 | ) \ | ||
| 51 | { \ | ||
| 52 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ | ||
| 53 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ | ||
| 54 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX, XXX }, \ | ||
| 55 | { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, k3e, XXX }, \ | ||
| 56 | { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \ | ||
| 57 | } | ||
| 58 | |||
| 59 | #define LAYOUT_68_iso( \ | ||
| 60 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ | ||
| 61 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, \ | ||
| 62 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ | ||
| 63 | k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3e, \ | ||
| 64 | k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \ | ||
| 65 | ) \ | ||
| 66 | { \ | ||
| 67 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ | ||
| 68 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e, k1f }, \ | ||
| 69 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX, XXX }, \ | ||
| 70 | { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, k3e, XXX }, \ | ||
| 71 | { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \ | ||
| 72 | } | ||
| 73 | |||
| 74 | #define LAYOUT_68_ansi_split_rshift( \ | ||
| 75 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ | ||
| 76 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, \ | ||
| 77 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ | ||
| 78 | k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ | ||
| 79 | k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \ | ||
| 80 | ) \ | ||
| 81 | { \ | ||
| 82 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ | ||
| 83 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f }, \ | ||
| 84 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX, XXX }, \ | ||
| 85 | { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \ | ||
| 86 | { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \ | ||
| 87 | } | ||
| 88 | |||
| 89 | #define LAYOUT_68_iso_split_rshift( \ | ||
| 90 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, \ | ||
| 91 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, k1f, \ | ||
| 92 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ | ||
| 93 | k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ | ||
| 94 | k40, k41, k42, k46, k4a, k4b, k4c, k4d, k4e, k4f \ | ||
| 95 | ) \ | ||
| 96 | { \ | ||
| 97 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f }, \ | ||
| 98 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e, k1f }, \ | ||
| 99 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX, XXX }, \ | ||
| 100 | { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, XXX }, \ | ||
| 101 | { k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, k4a, k4b, k4c, k4d, k4e, k4f } \ | ||
| 102 | } | ||
diff --git a/keyboards/marksard/leftover30/config.h b/keyboards/marksard/leftover30/config.h new file mode 100644 index 000000000..42c6c6287 --- /dev/null +++ b/keyboards/marksard/leftover30/config.h | |||
| @@ -0,0 +1,138 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 marksard | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #pragma once | ||
| 19 | |||
| 20 | #include "config_common.h" | ||
| 21 | |||
| 22 | /* USB Device descriptor parameter */ | ||
| 23 | #define VENDOR_ID 0xFEED | ||
| 24 | #define PRODUCT_ID 0xDFA8 | ||
| 25 | #define DEVICE_VER 0x0001 | ||
| 26 | #define MANUFACTURER marksard | ||
| 27 | #define PRODUCT leftover30 | ||
| 28 | |||
| 29 | /* Encoder */ | ||
| 30 | #define ENCODERS_PAD_A { F4 } | ||
| 31 | #define ENCODERS_PAD_B { F5 } | ||
| 32 | // #define ENCODER_DIRECTION_FLIP | ||
| 33 | |||
| 34 | /* key matrix size */ | ||
| 35 | #define MATRIX_ROWS 8 | ||
| 36 | #define MATRIX_COLS 5 | ||
| 37 | |||
| 38 | /* | ||
| 39 | * Keyboard Matrix Assignments | ||
| 40 | * | ||
| 41 | * Change this to how you wired your keyboard | ||
| 42 | * COLS: AVR pins used for columns, left to right | ||
| 43 | * ROWS: AVR pins used for rows, top to bottom | ||
| 44 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
| 45 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
| 46 | * | ||
| 47 | */ | ||
| 48 | #define MATRIX_ROW_PINS { B6, B2, F7, F6, B3, B1, D4, D0 } | ||
| 49 | #define MATRIX_COL_PINS { B5, B4, E6, D7, C6 } | ||
| 50 | #define UNUSED_PINS | ||
| 51 | |||
| 52 | /* COL2ROW, ROW2COL*/ | ||
| 53 | #define DIODE_DIRECTION COL2ROW | ||
| 54 | |||
| 55 | #define RGB_DI_PIN D3 | ||
| 56 | #ifdef RGB_DI_PIN | ||
| 57 | #define RGBLED_NUM 6 | ||
| 58 | #define RGBLIGHT_HUE_STEP 8 | ||
| 59 | #define RGBLIGHT_SAT_STEP 8 | ||
| 60 | #define RGBLIGHT_VAL_STEP 8 | ||
| 61 | #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ | ||
| 62 | #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ | ||
| 63 | /*== all animations enable ==*/ | ||
| 64 | #define RGBLIGHT_ANIMATIONS | ||
| 65 | /*== or choose animations ==*/ | ||
| 66 | // #define RGBLIGHT_EFFECT_BREATHING | ||
| 67 | // #define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
| 68 | // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
| 69 | // #define RGBLIGHT_EFFECT_SNAKE | ||
| 70 | // #define RGBLIGHT_EFFECT_KNIGHT | ||
| 71 | // #define RGBLIGHT_EFFECT_CHRISTMAS | ||
| 72 | // #define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
| 73 | // #define RGBLIGHT_EFFECT_RGB_TEST | ||
| 74 | // #define RGBLIGHT_EFFECT_ALTERNATING | ||
| 75 | /*== customize breathing effect ==*/ | ||
| 76 | /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||
| 77 | #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 | ||
| 78 | /*==== use exp() and sin() ====*/ | ||
| 79 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 | ||
| 80 | #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 | ||
| 81 | #endif | ||
| 82 | |||
| 83 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
| 84 | #define DEBOUNCE 5 | ||
| 85 | |||
| 86 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
| 87 | //#define MATRIX_HAS_GHOST | ||
| 88 | |||
| 89 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
| 90 | #define LOCKING_SUPPORT_ENABLE | ||
| 91 | /* Locking resynchronize hack */ | ||
| 92 | #define LOCKING_RESYNC_ENABLE | ||
| 93 | |||
| 94 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
| 95 | * This is userful for the Windows task manager shortcut (ctrl+shift+esc). | ||
| 96 | */ | ||
| 97 | // #define GRAVE_ESC_CTRL_OVERRIDE | ||
| 98 | |||
| 99 | /* | ||
| 100 | * Force NKRO | ||
| 101 | * | ||
| 102 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
| 103 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
| 104 | * makefile for this to work.) | ||
| 105 | * | ||
| 106 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
| 107 | * until the next keyboard reset. | ||
| 108 | * | ||
| 109 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
| 110 | * fully operational during normal computer usage. | ||
| 111 | * | ||
| 112 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
| 113 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
| 114 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
| 115 | * power-up. | ||
| 116 | * | ||
| 117 | */ | ||
| 118 | //#define FORCE_NKRO | ||
| 119 | |||
| 120 | /* | ||
| 121 | * Feature disable options | ||
| 122 | * These options are also useful to firmware size reduction. | ||
| 123 | */ | ||
| 124 | |||
| 125 | /* disable debug print */ | ||
| 126 | //#define NO_DEBUG | ||
| 127 | |||
| 128 | /* disable print */ | ||
| 129 | //#define NO_PRINT | ||
| 130 | |||
| 131 | /* disable action features */ | ||
| 132 | //#define NO_ACTION_LAYER | ||
| 133 | //#define NO_ACTION_TAPPING | ||
| 134 | //#define NO_ACTION_ONESHOT | ||
| 135 | |||
| 136 | /* disable these deprecated features by default */ | ||
| 137 | #define NO_ACTION_MACRO | ||
| 138 | #define NO_ACTION_FUNCTION | ||
diff --git a/keyboards/marksard/leftover30/info.json b/keyboards/marksard/leftover30/info.json new file mode 100644 index 000000000..700d08d9d --- /dev/null +++ b/keyboards/marksard/leftover30/info.json | |||
| @@ -0,0 +1,198 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Leftover30", | ||
| 3 | "url": "https://github.com/marksard/Keyboards", | ||
| 4 | "maintainer": "marksard", | ||
| 5 | "width": 11.5, | ||
| 6 | "height": 4, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT": { | ||
| 9 | "layout": [ | ||
| 10 | { | ||
| 11 | "label": "Q", | ||
| 12 | "x": 0.5, | ||
| 13 | "y": 0 | ||
| 14 | }, | ||
| 15 | { | ||
| 16 | "label": "W", | ||
| 17 | "x": 1.5, | ||
| 18 | "y": 0 | ||
| 19 | }, | ||
| 20 | { | ||
| 21 | "label": "E", | ||
| 22 | "x": 2.5, | ||
| 23 | "y": 0 | ||
| 24 | }, | ||
| 25 | { | ||
| 26 | "label": "R", | ||
| 27 | "x": 3.5, | ||
| 28 | "y": 0 | ||
| 29 | }, | ||
| 30 | { | ||
| 31 | "label": "T", | ||
| 32 | "x": 4.5, | ||
| 33 | "y": 0 | ||
| 34 | }, | ||
| 35 | { | ||
| 36 | "label": "Y", | ||
| 37 | "x": 5.5, | ||
| 38 | "y": 0 | ||
| 39 | }, | ||
| 40 | { | ||
| 41 | "label": "U", | ||
| 42 | "x": 6.5, | ||
| 43 | "y": 0 | ||
| 44 | }, | ||
| 45 | { | ||
| 46 | "label": "I", | ||
| 47 | "x": 7.5, | ||
| 48 | "y": 0 | ||
| 49 | }, | ||
| 50 | { | ||
| 51 | "label": "O", | ||
| 52 | "x": 8.5, | ||
| 53 | "y": 0 | ||
| 54 | }, | ||
| 55 | { | ||
| 56 | "label": "P", | ||
| 57 | "x": 9.5, | ||
| 58 | "y": 0 | ||
| 59 | }, | ||
| 60 | { | ||
| 61 | "label": "BS", | ||
| 62 | "x": 10.5, | ||
| 63 | "y": 0 | ||
| 64 | }, | ||
| 65 | { | ||
| 66 | "label": "A", | ||
| 67 | "x": 0.75, | ||
| 68 | "y": 1 | ||
| 69 | }, | ||
| 70 | { | ||
| 71 | "label": "S", | ||
| 72 | "x": 1.75, | ||
| 73 | "y": 1 | ||
| 74 | }, | ||
| 75 | { | ||
| 76 | "label": "D", | ||
| 77 | "x": 2.75, | ||
| 78 | "y": 1 | ||
| 79 | }, | ||
| 80 | { | ||
| 81 | "label": "F", | ||
| 82 | "x": 3.75, | ||
| 83 | "y": 1 | ||
| 84 | }, | ||
| 85 | { | ||
| 86 | "label": "G", | ||
| 87 | "x": 4.75, | ||
| 88 | "y": 1 | ||
| 89 | }, | ||
| 90 | { | ||
| 91 | "label": "H", | ||
| 92 | "x": 5.75, | ||
| 93 | "y": 1 | ||
| 94 | }, | ||
| 95 | { | ||
| 96 | "label": "J", | ||
| 97 | "x": 6.75, | ||
| 98 | "y": 1 | ||
| 99 | }, | ||
| 100 | { | ||
| 101 | "label": "K", | ||
| 102 | "x": 7.75, | ||
| 103 | "y": 1 | ||
| 104 | }, | ||
| 105 | { | ||
| 106 | "label": "L", | ||
| 107 | "x": 8.75, | ||
| 108 | "y": 1 | ||
| 109 | }, | ||
| 110 | { | ||
| 111 | "label": "Enter", | ||
| 112 | "x": 9.75, | ||
| 113 | "y": 1, | ||
| 114 | "w": 1.75 | ||
| 115 | }, | ||
| 116 | { | ||
| 117 | "label": "Z", | ||
| 118 | "x": 1.25, | ||
| 119 | "y": 2 | ||
| 120 | }, | ||
| 121 | { | ||
| 122 | "label": "X", | ||
| 123 | "x": 2.25, | ||
| 124 | "y": 2 | ||
| 125 | }, | ||
| 126 | { | ||
| 127 | "label": "C", | ||
| 128 | "x": 3.25, | ||
| 129 | "y": 2 | ||
| 130 | }, | ||
| 131 | { | ||
| 132 | "label": "V", | ||
| 133 | "x": 4.25, | ||
| 134 | "y": 2 | ||
| 135 | }, | ||
| 136 | { | ||
| 137 | "label": "B", | ||
| 138 | "x": 5.25, | ||
| 139 | "y": 2 | ||
| 140 | }, | ||
| 141 | { | ||
| 142 | "label": "N", | ||
| 143 | "x": 6.25, | ||
| 144 | "y": 2 | ||
| 145 | }, | ||
| 146 | { | ||
| 147 | "label": "M", | ||
| 148 | "x": 7.25, | ||
| 149 | "y": 2 | ||
| 150 | }, | ||
| 151 | { | ||
| 152 | "label": "<", | ||
| 153 | "x": 8.25, | ||
| 154 | "y": 2 | ||
| 155 | }, | ||
| 156 | { | ||
| 157 | "label": ">", | ||
| 158 | "x": 9.25, | ||
| 159 | "y": 2 | ||
| 160 | }, | ||
| 161 | { | ||
| 162 | "label": "?", | ||
| 163 | "x": 10.25, | ||
| 164 | "y": 2, | ||
| 165 | "w": 1.25 | ||
| 166 | }, | ||
| 167 | { | ||
| 168 | "label": "", | ||
| 169 | "x": 0, | ||
| 170 | "y": 3 | ||
| 171 | }, | ||
| 172 | { | ||
| 173 | "label": "Alt", | ||
| 174 | "x": 1.5, | ||
| 175 | "y": 3, | ||
| 176 | "w": 1.25 | ||
| 177 | }, | ||
| 178 | { | ||
| 179 | "label": "", | ||
| 180 | "x": 2.75, | ||
| 181 | "y": 3, | ||
| 182 | "w": 6.25 | ||
| 183 | }, | ||
| 184 | { | ||
| 185 | "label": "Fn1", | ||
| 186 | "x": 9, | ||
| 187 | "y": 3 | ||
| 188 | }, | ||
| 189 | { | ||
| 190 | "label": "Ctrl", | ||
| 191 | "x": 10, | ||
| 192 | "y": 3, | ||
| 193 | "w": 1.5 | ||
| 194 | } | ||
| 195 | ] | ||
| 196 | } | ||
| 197 | } | ||
| 198 | } | ||
diff --git a/keyboards/marksard/leftover30/keymaps/default/config.h b/keyboards/marksard/leftover30/keymaps/default/config.h new file mode 100644 index 000000000..8bffbbb3b --- /dev/null +++ b/keyboards/marksard/leftover30/keymaps/default/config.h | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | // place overrides here | ||
| 20 | #define TAPPING_TERM 200 | ||
| 21 | #define IGNORE_MOD_TAP_INTERRUPT | ||
| 22 | |||
| 23 | #define TAPPING_LAYER_TERM 150 // Custom LT Tapping term | ||
| 24 | #define TAPPING_TERM_PER_KEY | ||
diff --git a/keyboards/marksard/leftover30/keymaps/default/keymap.c b/keyboards/marksard/leftover30/keymaps/default/keymap.c new file mode 100644 index 000000000..60751cd1c --- /dev/null +++ b/keyboards/marksard/leftover30/keymaps/default/keymap.c | |||
| @@ -0,0 +1,162 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | enum layer_number { | ||
| 19 | _BASE, | ||
| 20 | _LOWER, | ||
| 21 | _RAISE, | ||
| 22 | _ADJUST, | ||
| 23 | }; | ||
| 24 | |||
| 25 | enum custom_keycodes { | ||
| 26 | RGBRST = SAFE_RANGE, | ||
| 27 | LOWER, | ||
| 28 | RAISE, | ||
| 29 | KANJI, | ||
| 30 | }; | ||
| 31 | |||
| 32 | // #define KC_ESAD LT(_ADJUST, KC_ESC) | ||
| 33 | // #define KC_BSLO LT(_LOWER, KC_BSPC) | ||
| 34 | #define KC_LOWR MO(_LOWER) | ||
| 35 | #define KC_SPRA LT(_RAISE, KC_SPC) | ||
| 36 | #define KC_AJST MO(_ADJUST) | ||
| 37 | |||
| 38 | #define KC_Q_AL LALT_T(KC_Q) | ||
| 39 | #define KC_A_CT LCTL_T(KC_A) | ||
| 40 | #define KC_Z_SF LSFT_T(KC_Z) | ||
| 41 | #define KC_X_AL LALT_T(KC_X) | ||
| 42 | #define KC_ENSF RSFT_T(KC_ENT) | ||
| 43 | #define KC_SLSF RSFT_T(KC_SLSH) | ||
| 44 | |||
| 45 | #define KC_F1AL LALT_T(KC_F1) | ||
| 46 | #define KC_F6CT LCTL_T(KC_F6) | ||
| 47 | #define KC_11SF LSFT_T(KC_F11) | ||
| 48 | #define KC_12AL LALT_T(KC_F12) | ||
| 49 | #define KC_QUSF RCTL_T(KC_QUOT) | ||
| 50 | #define KC_ROSF RSFT_T(KC_RO) | ||
| 51 | |||
| 52 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 53 | [_BASE] = LAYOUT_all( | ||
| 54 | //,-----------------------------------------------------------------------------------------------------------. | ||
| 55 | KC_Q_AL, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
| 56 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 57 | KC_A_CT, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENSF, | ||
| 58 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 59 | KC_Z_SF, KC_X_AL, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSF, | ||
| 60 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 61 | KC_LCTL, KC_LGUI, KC_SPRA, KC_LOWR, KC_RCTL | ||
| 62 | //`-----------------------------------------------------------------------------------------------------------' | ||
| 63 | ), | ||
| 64 | |||
| 65 | [_LOWER] = LAYOUT_all( | ||
| 66 | //,-----------------------------------------------------------------------------------------------------------. | ||
| 67 | KC_F1AL, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_JYEN, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 68 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 69 | KC_F6CT, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUSF, | ||
| 70 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 71 | KC_11SF, KC_12AL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GRV, KC_RO, KC_SLSH, KC_ROSF, | ||
| 72 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 73 | _______, _______, KC_AJST, _______, _______ | ||
| 74 | //`-----------------------------------------------------------------------------------------------------------' | ||
| 75 | ), | ||
| 76 | |||
| 77 | [_RAISE] = LAYOUT_all( | ||
| 78 | //,-----------------------------------------------------------------------------------------------------------. | ||
| 79 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, | ||
| 80 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 81 | KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, | ||
| 82 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 83 | KC_LSFT, XXXXXXX, KC_ESC, KC_TAB, KANJI, KC_DEL, KC_COMM, KC_DOT, KC_BSLS, KC_ROSF, | ||
| 84 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 85 | _______, _______, _______, KC_AJST, _______ | ||
| 86 | //`-----------------------------------------------------------------------------------------------------------' | ||
| 87 | ), | ||
| 88 | |||
| 89 | [_ADJUST] = LAYOUT_all( | ||
| 90 | //,-----------------------------------------------------------------------------------------------------------. | ||
| 91 | RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, KC_PSCR, | ||
| 92 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 93 | RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK, | ||
| 94 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 95 | RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, KC_CAPS, | ||
| 96 | //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| | ||
| 97 | _______, _______, _______, _______, KC_CAPS | ||
| 98 | //`-----------------------------------------------------------------------------------------------------------' | ||
| 99 | ) | ||
| 100 | }; | ||
| 101 | |||
| 102 | uint16_t get_tapping_term(uint16_t keycode) { | ||
| 103 | switch (keycode) { | ||
| 104 | case KC_SPRA: | ||
| 105 | return TAPPING_LAYER_TERM; | ||
| 106 | default: | ||
| 107 | return TAPPING_TERM; | ||
| 108 | } | ||
| 109 | } | ||
| 110 | |||
| 111 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 112 | |||
| 113 | bool result = false; | ||
| 114 | switch (keycode) { | ||
| 115 | case KANJI: | ||
| 116 | if (record->event.pressed) { | ||
| 117 | register_code16(keymap_config.swap_lalt_lgui ? A(KC_GRV) : KC_LANG2); | ||
| 118 | } else { | ||
| 119 | unregister_code16(keymap_config.swap_lalt_lgui ? A(KC_GRV) : KC_LANG2); | ||
| 120 | } | ||
| 121 | break; | ||
| 122 | #ifdef RGBLIGHT_ENABLE | ||
| 123 | case RGBRST: | ||
| 124 | if (record->event.pressed) { | ||
| 125 | eeconfig_update_rgblight_default(); | ||
| 126 | rgblight_enable(); | ||
| 127 | } | ||
| 128 | break; | ||
| 129 | #endif | ||
| 130 | default: | ||
| 131 | result = true; | ||
| 132 | break; | ||
| 133 | } | ||
| 134 | |||
| 135 | return result; | ||
| 136 | } | ||
| 137 | |||
| 138 | void encoder_update_user(uint8_t index, bool clockwise) { | ||
| 139 | if (index == 0) { | ||
| 140 | if (IS_LAYER_ON(_ADJUST)) { | ||
| 141 | if (clockwise) { | ||
| 142 | rgblight_increase_hue_noeeprom(); | ||
| 143 | } else { | ||
| 144 | rgblight_decrease_hue_noeeprom(); | ||
| 145 | } | ||
| 146 | } else if (IS_LAYER_ON(_LOWER)) { | ||
| 147 | tap_code16((clockwise == true) ? LCTL(KC_Y) : LCTL(KC_Z)); | ||
| 148 | } else if (IS_LAYER_ON(_RAISE)) { | ||
| 149 | tap_code16((clockwise == true) ? S(KC_DOWN) : S(KC_UP)); | ||
| 150 | } else { | ||
| 151 | tap_code((clockwise == true) ? KC_WH_D : KC_WH_U); | ||
| 152 | } | ||
| 153 | |||
| 154 | } | ||
| 155 | } | ||
| 156 | |||
| 157 | // for exsample customize of LED inducator | ||
| 158 | // bool led_update_user(led_t led_state) { | ||
| 159 | // writePin(D2, IS_LAYER_ON(_LOWER)); | ||
| 160 | // writePin(D1, IS_LAYER_ON(_RAISE)); | ||
| 161 | // return false; | ||
| 162 | // } | ||
diff --git a/keyboards/marksard/leftover30/keymaps/default/readme.md b/keyboards/marksard/leftover30/keymaps/default/readme.md new file mode 100644 index 000000000..05dcdc3d1 --- /dev/null +++ b/keyboards/marksard/leftover30/keymaps/default/readme.md | |||
| @@ -0,0 +1 @@ | |||
| # The default keymap for leftover30 | |||
diff --git a/keyboards/marksard/leftover30/keymaps/default/rules.mk b/keyboards/marksard/leftover30/keymaps/default/rules.mk new file mode 100644 index 000000000..5af1ba853 --- /dev/null +++ b/keyboards/marksard/leftover30/keymaps/default/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| ENCODER_ENABLE = yes | |||
diff --git a/keyboards/marksard/leftover30/leftover30.c b/keyboards/marksard/leftover30/leftover30.c new file mode 100644 index 000000000..df8152144 --- /dev/null +++ b/keyboards/marksard/leftover30/leftover30.c | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #include "leftover30.h" | ||
| 18 | |||
| 19 | // Optional override functions below. | ||
| 20 | // You can leave any or all of these undefined. | ||
| 21 | // These are only required if you want to perform custom actions. | ||
| 22 | |||
| 23 | void keyboard_pre_init_user(void) { | ||
| 24 | /* Set CAPSLOCK indicator pin as output */ | ||
| 25 | setPinOutput(D1); | ||
| 26 | /* Set NUMLOCK indicator pin as output */ | ||
| 27 | setPinOutput(D2); | ||
| 28 | } | ||
| 29 | |||
| 30 | bool led_update_kb(led_t led_state) { | ||
| 31 | bool res = led_update_user(led_state); | ||
| 32 | if(res) { | ||
| 33 | writePin(D2, led_state.num_lock); | ||
| 34 | writePin(D1, led_state.caps_lock); | ||
| 35 | } | ||
| 36 | return res; | ||
| 37 | } | ||
diff --git a/keyboards/marksard/leftover30/leftover30.h b/keyboards/marksard/leftover30/leftover30.h new file mode 100644 index 000000000..901b9b570 --- /dev/null +++ b/keyboards/marksard/leftover30/leftover30.h | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include "quantum.h" | ||
| 20 | |||
| 21 | /* This is a shortcut to help you visually see your layout. | ||
| 22 | * | ||
| 23 | * The first section contains all of the arguments representing the physical | ||
| 24 | * layout of the board and position of the keys. | ||
| 25 | * | ||
| 26 | * The second converts the arguments into a two-dimensional array which | ||
| 27 | * represents the switch matrix. | ||
| 28 | */ | ||
| 29 | #define LAYOUT_all( \ | ||
| 30 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a,\ | ||
| 31 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,\ | ||
| 32 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29,\ | ||
| 33 | k30, k31, k32, k33, k34\ | ||
| 34 | ) \ | ||
| 35 | { \ | ||
| 36 | { k09, k08, k07, k06, k05 }, \ | ||
| 37 | { k19, k18, k17, k16, k15 }, \ | ||
| 38 | { k29, k28, k27, k26, k25 }, \ | ||
| 39 | { k0a, k34, k33, k32, k31 }, \ | ||
| 40 | \ | ||
| 41 | { k04, k03, k02, k01, k00 }, \ | ||
| 42 | { k14, k13, k12, k11, k10 }, \ | ||
| 43 | { k24, k23, k22, k21, k20 }, \ | ||
| 44 | { KC_NO, KC_NO, KC_NO, KC_NO, k30 } \ | ||
| 45 | } | ||
diff --git a/keyboards/marksard/leftover30/readme.md b/keyboards/marksard/leftover30/readme.md new file mode 100644 index 000000000..6fefb057f --- /dev/null +++ b/keyboards/marksard/leftover30/readme.md | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | # leftover30 | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | A 30% mini keyboard. | ||
| 6 | |||
| 7 | * Keyboard Maintainer: [marksard](https://github.com/marksard) | ||
| 8 | * Hardware Supported: LEFTOVER30 PCB (with Pro Micro) | ||
| 9 | * Hardware Availability: [Mark's Garage](https://marksard.booth.pm/) | ||
| 10 | |||
| 11 | Make example for this keyboard (after setting up your build environment): | ||
| 12 | |||
| 13 | make marksard/leftover30:default | ||
| 14 | |||
| 15 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
| 16 | |||
| 17 | [Build guide](https://github.com/marksard/Keyboards/blob/master/leftover30/documents/leftover30_buildguide.md) | ||
diff --git a/keyboards/marksard/leftover30/rules.mk b/keyboards/marksard/leftover30/rules.mk new file mode 100644 index 000000000..dd52fe113 --- /dev/null +++ b/keyboards/marksard/leftover30/rules.mk | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = caterina | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | ||
| 11 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 18 | NKRO_ENABLE = no # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 20 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
| 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 22 | AUDIO_ENABLE = no # Audio output | ||
diff --git a/keyboards/marksard/rhymestone/common/glcdfont.c b/keyboards/marksard/rhymestone/common/glcdfont.c new file mode 100644 index 000000000..d9438aa5a --- /dev/null +++ b/keyboards/marksard/rhymestone/common/glcdfont.c | |||
| @@ -0,0 +1,233 @@ | |||
| 1 | // This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. | ||
| 2 | // See gfxfont.h for newer custom bitmap font info. | ||
| 3 | |||
| 4 | #include "progmem.h" | ||
| 5 | |||
| 6 | // Standard ASCII 5x7 font | ||
| 7 | |||
| 8 | static const unsigned char font[] PROGMEM = { | ||
| 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 10 | 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, | ||
| 11 | 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, | ||
| 12 | 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, | ||
| 13 | 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, | ||
| 14 | 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, | ||
| 15 | 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, | ||
| 16 | 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, | ||
| 17 | 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, | ||
| 18 | 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, | ||
| 19 | 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, | ||
| 20 | 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, | ||
| 21 | 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, | ||
| 22 | 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, | ||
| 23 | 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, | ||
| 24 | 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, | ||
| 25 | 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, | ||
| 26 | 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, | ||
| 27 | 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, | ||
| 28 | 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, | ||
| 29 | 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, | ||
| 30 | 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, | ||
| 31 | 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, | ||
| 32 | 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, | ||
| 33 | 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, | ||
| 34 | 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, | ||
| 35 | 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, | ||
| 36 | 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, | ||
| 37 | 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, | ||
| 38 | 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, | ||
| 39 | 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, | ||
| 40 | 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, | ||
| 41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 42 | 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, | ||
| 43 | 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, | ||
| 44 | 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, | ||
| 45 | 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, | ||
| 46 | 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, | ||
| 47 | 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, | ||
| 48 | 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, | ||
| 49 | 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, | ||
| 50 | 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, | ||
| 51 | 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, | ||
| 52 | 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, | ||
| 53 | 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, | ||
| 54 | 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, | ||
| 55 | 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, | ||
| 56 | 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, | ||
| 57 | 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, | ||
| 58 | 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, | ||
| 59 | 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, | ||
| 60 | 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, | ||
| 61 | 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, | ||
| 62 | 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, | ||
| 63 | 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, | ||
| 64 | 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, | ||
| 65 | 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
| 66 | 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, | ||
| 67 | 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, | ||
| 68 | 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, | ||
| 69 | 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
| 70 | 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, | ||
| 71 | 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, | ||
| 72 | 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, | ||
| 73 | 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, | ||
| 74 | 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, | ||
| 75 | 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, | ||
| 76 | 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, | ||
| 77 | 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
| 78 | 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, | ||
| 79 | 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, | ||
| 80 | 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, | ||
| 81 | 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, | ||
| 82 | 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, | ||
| 83 | 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, | ||
| 84 | 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, | ||
| 85 | 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
| 86 | 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, | ||
| 87 | 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, | ||
| 88 | 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, | ||
| 89 | 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, | ||
| 90 | 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, | ||
| 91 | 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, | ||
| 92 | 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, | ||
| 93 | 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, | ||
| 94 | 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, | ||
| 95 | 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, | ||
| 96 | 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, | ||
| 97 | 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, | ||
| 98 | 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, | ||
| 99 | 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, | ||
| 100 | 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, | ||
| 101 | 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, | ||
| 102 | 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, | ||
| 103 | 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, | ||
| 104 | 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | ||
| 105 | 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, | ||
| 106 | 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, | ||
| 107 | 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, | ||
| 108 | 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, | ||
| 109 | 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, | ||
| 110 | 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, | ||
| 111 | 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, | ||
| 112 | 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, | ||
| 113 | 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
| 114 | 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, | ||
| 115 | 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, | ||
| 116 | 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, | ||
| 117 | 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, | ||
| 118 | 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, | ||
| 119 | 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, | ||
| 120 | 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, | ||
| 121 | 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00, | ||
| 122 | 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00, | ||
| 123 | 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, | ||
| 124 | 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, | ||
| 125 | 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, | ||
| 126 | 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, | ||
| 127 | 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, | ||
| 128 | 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, | ||
| 129 | 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, | ||
| 130 | 0x4C, 0x10, 0x10, 0x10, 0x7C, 0x00, | ||
| 131 | 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, | ||
| 132 | 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, | ||
| 133 | 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, | ||
| 134 | 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, | ||
| 135 | 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, | ||
| 136 | 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, | ||
| 137 | 0x00, 0x00, 0xD8, 0xDE, 0xDE, 0xDE, | ||
| 138 | 0x1E, 0x1E, 0x1E, 0x1E, 0xFE, 0xFE, | ||
| 139 | 0xFE, 0xFE, 0x00, 0xF0, 0xFF, 0xFF, | ||
| 140 | 0xFF, 0xE3, 0xE0, 0xE0, 0xE0, 0xE0, | ||
| 141 | 0xE0, 0xE0, 0x00, 0x80, 0xE0, 0xE0, | ||
| 142 | 0xE0, 0x00, 0x00, 0x00, 0x00, 0xE0, | ||
| 143 | 0xE0, 0xE0, 0xE0, 0x00, 0xE0, 0xE0, | ||
| 144 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
| 145 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
| 146 | 0xE0, 0xE0, 0xE0, 0x00, 0xC0, 0xE0, | ||
| 147 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
| 148 | 0xE0, 0xE0, 0xE0, 0x00, 0x80, 0xE0, | ||
| 149 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
| 150 | 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0xFC, | ||
| 151 | 0xFC, 0xFC, 0xFC, 0xE0, 0xE0, 0x80, | ||
| 152 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
| 153 | 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, | ||
| 154 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
| 155 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x80, | ||
| 156 | 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, | ||
| 157 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, | ||
| 158 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 159 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 160 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 161 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 162 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 163 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 164 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 165 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 166 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 167 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 168 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 169 | 0x80, 0xFE, 0xFF, 0xFF, 0x7F, 0x0F, | ||
| 170 | 0x0E, 0x0E, 0xCE, 0xFF, 0xFF, 0xFF, | ||
| 171 | 0x7F, 0x80, 0xFE, 0xFF, 0xFF, 0x3F, | ||
| 172 | 0x01, 0x01, 0x01, 0x81, 0xFF, 0xFF, | ||
| 173 | 0xFF, 0x3F, 0xE0, 0xFF, 0xFF, 0xFF, | ||
| 174 | 0x8F, 0x80, 0x80, 0x80, 0xF8, 0xFF, | ||
| 175 | 0xFF, 0x7F, 0xC1, 0xFE, 0xFF, 0xFF, | ||
| 176 | 0x1F, 0x01, 0x01, 0xE1, 0xFF, 0xFF, | ||
| 177 | 0xFF, 0x0F, 0x01, 0x01, 0xF1, 0xFF, | ||
| 178 | 0xFF, 0xFF, 0x07, 0xFC, 0xFF, 0xFF, | ||
| 179 | 0xFF, 0x9D, 0x9D, 0x9D, 0x9D, 0x9F, | ||
| 180 | 0x9F, 0x9F, 0x1F, 0x80, 0x9F, 0x9F, | ||
| 181 | 0x9F, 0x9F, 0x9D, 0x9D, 0xDD, 0xFD, | ||
| 182 | 0xFD, 0xFD, 0x39, 0xC0, 0xFF, 0xFF, | ||
| 183 | 0xFF, 0x9F, 0x81, 0x01, 0xF1, 0xFF, | ||
| 184 | 0xFF, 0xFF, 0x87, 0x81, 0x81, 0x81, | ||
| 185 | 0xF9, 0xFF, 0xFF, 0xFF, 0x03, 0xFC, | ||
| 186 | 0xFF, 0xFF, 0x3F, 0x01, 0x01, 0x01, | ||
| 187 | 0x01, 0xFF, 0xFF, 0xFF, 0x7F, 0xC0, | ||
| 188 | 0xFF, 0xFF, 0xFF, 0x9F, 0x9D, 0x9D, | ||
| 189 | 0x9D, 0x9D, 0x9F, 0x9F, 0x1F, 0x00, | ||
| 190 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 191 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 192 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 193 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 194 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 195 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 196 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 197 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 198 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 199 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 200 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 201 | 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, | ||
| 202 | 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, | ||
| 203 | 0x00, 0x07, 0x07, 0x07, 0x07, 0x00, | ||
| 204 | 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, | ||
| 205 | 0x07, 0x60, 0x73, 0x77, 0x77, 0x77, | ||
| 206 | 0x77, 0x77, 0x77, 0x7F, 0x7F, 0x7F, | ||
| 207 | 0x1F, 0x00, 0x07, 0x07, 0x07, 0x07, | ||
| 208 | 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, | ||
| 209 | 0x03, 0x00, 0x00, 0x00, 0x07, 0x07, | ||
| 210 | 0x07, 0x01, 0x00, 0x07, 0x07, 0x07, | ||
| 211 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
| 212 | 0x07, 0x00, 0x00, 0x07, 0x07, 0x07, | ||
| 213 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
| 214 | 0x07, 0x03, 0x00, 0x03, 0x07, 0x07, | ||
| 215 | 0x07, 0x07, 0x07, 0x00, 0x03, 0x07, | ||
| 216 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
| 217 | 0x07, 0x07, 0x03, 0x00, 0x07, 0x07, | ||
| 218 | 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, | ||
| 219 | 0x07, 0x07, 0x07, 0x07, 0x00, 0x03, | ||
| 220 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, | ||
| 221 | 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, | ||
| 222 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 223 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 224 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 225 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 226 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 227 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 228 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 229 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 230 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 231 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 232 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| 233 | }; | ||
diff --git a/keyboards/marksard/rhymestone/common/oled_helper.c b/keyboards/marksard/rhymestone/common/oled_helper.c new file mode 100644 index 000000000..537650025 --- /dev/null +++ b/keyboards/marksard/rhymestone/common/oled_helper.c | |||
| @@ -0,0 +1,87 @@ | |||
| 1 | #ifdef OLED_DRIVER_ENABLE | ||
| 2 | #include QMK_KEYBOARD_H | ||
| 3 | #include <stdio.h> | ||
| 4 | #include <string.h> | ||
| 5 | |||
| 6 | void render_logo(void) { | ||
| 7 | |||
| 8 | static const char PROGMEM logo_buf[]={ | ||
| 9 | 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, | ||
| 10 | 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, | ||
| 11 | 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, | ||
| 12 | 0}; | ||
| 13 | |||
| 14 | oled_write_P(logo_buf, false); | ||
| 15 | } | ||
| 16 | |||
| 17 | void render_lock_status(void) { | ||
| 18 | |||
| 19 | // Host Keyboard LED Status | ||
| 20 | led_t led_state = host_keyboard_led_state(); | ||
| 21 | |||
| 22 | oled_write_P(PSTR("Lock:"), false); | ||
| 23 | if (led_state.num_lock) { | ||
| 24 | oled_write_P(PSTR("Num "), false); | ||
| 25 | } | ||
| 26 | if (led_state.caps_lock) { | ||
| 27 | oled_write_P(PSTR("Caps "), false); | ||
| 28 | } | ||
| 29 | if (led_state.scroll_lock) { | ||
| 30 | oled_write_P(PSTR("Scrl"), false); | ||
| 31 | } | ||
| 32 | |||
| 33 | oled_write_P(PSTR("\n"), false); | ||
| 34 | } | ||
| 35 | |||
| 36 | static char keylog_buf[24] = "Key state ready.\n"; | ||
| 37 | const char code_to_name[60] = { | ||
| 38 | ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', | ||
| 39 | 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', | ||
| 40 | 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', | ||
| 41 | '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', | ||
| 42 | 'R', 'E', 'B', 'T', ' ', '-', ' ', '@', ' ', ' ', | ||
| 43 | ' ', ';', ':', ' ', ',', '.', '/', ' ', ' ', ' '}; | ||
| 44 | |||
| 45 | void update_key_status(uint16_t keycode, keyrecord_t *record) { | ||
| 46 | |||
| 47 | if (!record->event.pressed) return; | ||
| 48 | |||
| 49 | char name = (keycode < 60) ? code_to_name[keycode] : ' '; | ||
| 50 | snprintf(keylog_buf, sizeof(keylog_buf) - 1, "Key:%dx%d %2x %c\n", | ||
| 51 | record->event.key.row, record->event.key.col, | ||
| 52 | (uint16_t)keycode, name); | ||
| 53 | } | ||
| 54 | |||
| 55 | void render_key_status(void) { | ||
| 56 | |||
| 57 | oled_write(keylog_buf, false); | ||
| 58 | } | ||
| 59 | |||
| 60 | #ifdef RGBLIGHT_ENABLE | ||
| 61 | extern rgblight_config_t rgblight_config; | ||
| 62 | |||
| 63 | static char led_buf[24] = "LED state ready.\n"; | ||
| 64 | rgblight_config_t rgblight_config_bak; | ||
| 65 | void update_led_status(void) { | ||
| 66 | |||
| 67 | if (rgblight_config_bak.enable != rgblight_config.enable || | ||
| 68 | rgblight_config_bak.mode != rgblight_config.mode || | ||
| 69 | rgblight_config_bak.hue != rgblight_config.hue || | ||
| 70 | rgblight_config_bak.sat != rgblight_config.sat || | ||
| 71 | rgblight_config_bak.val != rgblight_config.val | ||
| 72 | ) { | ||
| 73 | snprintf(led_buf, sizeof(led_buf) - 1, "LED%c:%2d hsv:%2d %2d %2d\n", | ||
| 74 | rgblight_config.enable ? '*' : '.', (uint8_t)rgblight_config.mode, | ||
| 75 | (uint8_t)(rgblight_config.hue / RGBLIGHT_HUE_STEP), | ||
| 76 | (uint8_t)(rgblight_config.sat / RGBLIGHT_SAT_STEP), | ||
| 77 | (uint8_t)(rgblight_config.val / RGBLIGHT_VAL_STEP)); | ||
| 78 | rgblight_config_bak = rgblight_config; | ||
| 79 | } | ||
| 80 | } | ||
| 81 | |||
| 82 | void render_led_status(void) { | ||
| 83 | |||
| 84 | oled_write(led_buf, false); | ||
| 85 | } | ||
| 86 | #endif | ||
| 87 | #endif | ||
diff --git a/keyboards/marksard/rhymestone/common/oled_helper.h b/keyboards/marksard/rhymestone/common/oled_helper.h new file mode 100644 index 000000000..02f7b94fa --- /dev/null +++ b/keyboards/marksard/rhymestone/common/oled_helper.h | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | #ifdef OLED_DRIVER_ENABLE | ||
| 2 | |||
| 3 | void render_logo(void); | ||
| 4 | void render_lock_status(void); | ||
| 5 | void update_key_status(uint16_t keycode, keyrecord_t *record); | ||
| 6 | void render_key_status(void); | ||
| 7 | |||
| 8 | #define RENDER_LOGO() render_logo() | ||
| 9 | #define RENDER_LOCK_STATUS() render_lock_status() | ||
| 10 | #define UPDATE_KEY_STATUS(a, b) update_key_status(a, b) | ||
| 11 | #define RENDER_KEY_STATUS() render_key_status() | ||
| 12 | |||
| 13 | #ifdef RGBLIGHT_ENABLE | ||
| 14 | void update_led_status(void); | ||
| 15 | void render_led_status(void); | ||
| 16 | #define UPDATE_LED_STATUS() update_led_status() | ||
| 17 | #define RENDER_LED_STATUS() render_led_status() | ||
| 18 | #else | ||
| 19 | #define UPDATE_LED_STATUS() | ||
| 20 | #define RENDER_LED_STATUS() | ||
| 21 | #endif | ||
| 22 | |||
| 23 | #else | ||
| 24 | |||
| 25 | #define RENDER_LOGO() | ||
| 26 | #define RENDER_LOCK_STATUS() | ||
| 27 | #define UPDATE_KEY_STATUS(a, b) | ||
| 28 | #define RENDER_KEY_STATUS() | ||
| 29 | #define UPDATE_LED_STATUS() | ||
| 30 | #define RENDER_LED_STATUS() | ||
| 31 | |||
| 32 | #endif | ||
diff --git a/keyboards/marksard/rhymestone/info.json b/keyboards/marksard/rhymestone/info.json new file mode 100644 index 000000000..2c1ba9b37 --- /dev/null +++ b/keyboards/marksard/rhymestone/info.json | |||
| @@ -0,0 +1,213 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Rhymestone", | ||
| 3 | "url": "https://github.com/marksard/Keyboards", | ||
| 4 | "maintainer": "marksard", | ||
| 5 | "width": 11, | ||
| 6 | "height": 4, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT_ortho_4x10": { | ||
| 9 | "layout": [ | ||
| 10 | { | ||
| 11 | "label": "Q", | ||
| 12 | "x": 0, | ||
| 13 | "y": 0 | ||
| 14 | }, | ||
| 15 | { | ||
| 16 | "label": "W", | ||
| 17 | "x": 1, | ||
| 18 | "y": 0 | ||
| 19 | }, | ||
| 20 | { | ||
| 21 | "label": "E", | ||
| 22 | "x": 2, | ||
| 23 | "y": 0 | ||
| 24 | }, | ||
| 25 | { | ||
| 26 | "label": "R", | ||
| 27 | "x": 3, | ||
| 28 | "y": 0 | ||
| 29 | }, | ||
| 30 | { | ||
| 31 | "label": "T", | ||
| 32 | "x": 4, | ||
| 33 | "y": 0 | ||
| 34 | }, | ||
| 35 | { | ||
| 36 | "label": "Y", | ||
| 37 | "x": 6, | ||
| 38 | "y": 0 | ||
| 39 | }, | ||
| 40 | { | ||
| 41 | "label": "U", | ||
| 42 | "x": 7, | ||
| 43 | "y": 0 | ||
| 44 | }, | ||
| 45 | { | ||
| 46 | "label": "I", | ||
| 47 | "x": 8, | ||
| 48 | "y": 0 | ||
| 49 | }, | ||
| 50 | { | ||
| 51 | "label": "O", | ||
| 52 | "x": 9, | ||
| 53 | "y": 0 | ||
| 54 | }, | ||
| 55 | { | ||
| 56 | "label": "P", | ||
| 57 | "x": 10, | ||
| 58 | "y": 0 | ||
| 59 | }, | ||
| 60 | { | ||
| 61 | "label": "A", | ||
| 62 | "x": 0, | ||
| 63 | "y": 1 | ||
| 64 | }, | ||
| 65 | { | ||
| 66 | "label": "S", | ||
| 67 | "x": 1, | ||
| 68 | "y": 1 | ||
| 69 | }, | ||
| 70 | { | ||
| 71 | "label": "D", | ||
| 72 | "x": 2, | ||
| 73 | "y": 1 | ||
| 74 | }, | ||
| 75 | { | ||
| 76 | "label": "F", | ||
| 77 | "x": 3, | ||
| 78 | "y": 1 | ||
| 79 | }, | ||
| 80 | { | ||
| 81 | "label": "G", | ||
| 82 | "x": 4, | ||
| 83 | "y": 1 | ||
| 84 | }, | ||
| 85 | { | ||
| 86 | "label": "H", | ||
| 87 | "x": 6, | ||
| 88 | "y": 1 | ||
| 89 | }, | ||
| 90 | { | ||
| 91 | "label": "J", | ||
| 92 | "x": 7, | ||
| 93 | "y": 1 | ||
| 94 | }, | ||
| 95 | { | ||
| 96 | "label": "K", | ||
| 97 | "x": 8, | ||
| 98 | "y": 1 | ||
| 99 | }, | ||
| 100 | { | ||
| 101 | "label": "L", | ||
| 102 | "x": 9, | ||
| 103 | "y": 1 | ||
| 104 | }, | ||
| 105 | { | ||
| 106 | "label": "Enter", | ||
| 107 | "x": 10, | ||
| 108 | "y": 1 | ||
| 109 | }, | ||
| 110 | { | ||
| 111 | "label": "Z", | ||
| 112 | "x": 0, | ||
| 113 | "y": 2 | ||
| 114 | }, | ||
| 115 | { | ||
| 116 | "label": "X", | ||
| 117 | "x": 1, | ||
| 118 | "y": 2 | ||
| 119 | }, | ||
| 120 | { | ||
| 121 | "label": "C", | ||
| 122 | "x": 2, | ||
| 123 | "y": 2 | ||
| 124 | }, | ||
| 125 | { | ||
| 126 | "label": "V", | ||
| 127 | "x": 3, | ||
| 128 | "y": 2 | ||
| 129 | }, | ||
| 130 | { | ||
| 131 | "label": "B", | ||
| 132 | "x": 4, | ||
| 133 | "y": 2 | ||
| 134 | }, | ||
| 135 | { | ||
| 136 | "label": "N", | ||
| 137 | "x": 6, | ||
| 138 | "y": 2 | ||
| 139 | }, | ||
| 140 | { | ||
| 141 | "label": "M", | ||
| 142 | "x": 7, | ||
| 143 | "y": 2 | ||
| 144 | }, | ||
| 145 | { | ||
| 146 | "label": ",", | ||
| 147 | "x": 8, | ||
| 148 | "y": 2 | ||
| 149 | }, | ||
| 150 | { | ||
| 151 | "label": ".", | ||
| 152 | "x": 9, | ||
| 153 | "y": 2 | ||
| 154 | }, | ||
| 155 | { | ||
| 156 | "label": "/", | ||
| 157 | "x": 10, | ||
| 158 | "y": 2 | ||
| 159 | }, | ||
| 160 | { | ||
| 161 | "label": "Ctrl", | ||
| 162 | "x": 0, | ||
| 163 | "y": 3 | ||
| 164 | }, | ||
| 165 | { | ||
| 166 | "label": "Win", | ||
| 167 | "x": 1, | ||
| 168 | "y": 3 | ||
| 169 | }, | ||
| 170 | { | ||
| 171 | "label": "Alt", | ||
| 172 | "x": 2, | ||
| 173 | "y": 3 | ||
| 174 | }, | ||
| 175 | { | ||
| 176 | "label": "Lower", | ||
| 177 | "x": 3, | ||
| 178 | "y": 3 | ||
| 179 | }, | ||
| 180 | { | ||
| 181 | "label": "backspace", | ||
| 182 | "x": 4, | ||
| 183 | "y": 3 | ||
| 184 | }, | ||
| 185 | { | ||
| 186 | "label": "space", | ||
| 187 | "x": 6, | ||
| 188 | "y": 3 | ||
| 189 | }, | ||
| 190 | { | ||
| 191 | "label": "Upper", | ||
| 192 | "x": 7, | ||
| 193 | "y": 3 | ||
| 194 | }, | ||
| 195 | { | ||
| 196 | "label": "Alt", | ||
| 197 | "x": 8, | ||
| 198 | "y": 3 | ||
| 199 | }, | ||
| 200 | { | ||
| 201 | "label": "App", | ||
| 202 | "x": 9, | ||
| 203 | "y": 3 | ||
| 204 | }, | ||
| 205 | { | ||
| 206 | "label": "Ctrl", | ||
| 207 | "x": 10, | ||
| 208 | "y": 3 | ||
| 209 | } | ||
| 210 | ] | ||
| 211 | } | ||
| 212 | } | ||
| 213 | } | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/default/config.h b/keyboards/marksard/rhymestone/keymaps/default/config.h new file mode 100644 index 000000000..95f2d039b --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/default/config.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | // place overrides here | ||
| 20 | |||
| 21 | // If you use the HashTwenty(alpha), please enable USE_HASHTWENTY | ||
| 22 | // #define USE_HASHTWENTY | ||
| 23 | |||
| 24 | // If you plug in the USB on the right side, please enable MASTER_RIGHT | ||
| 25 | // #define MASTER_RIGHT | ||
| 26 | |||
| 27 | #define OLED_FONT_H "keyboards/rhymestone/common/glcdfont.c" | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/default/keymap.c b/keyboards/marksard/rhymestone/keymaps/default/keymap.c new file mode 100644 index 000000000..2d695f76b --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/default/keymap.c | |||
| @@ -0,0 +1,226 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | #include "./common/oled_helper.h" | ||
| 18 | |||
| 19 | enum layer_number { | ||
| 20 | _BASE, | ||
| 21 | _LOWER, | ||
| 22 | _RAISE, | ||
| 23 | _ADJUST, | ||
| 24 | }; | ||
| 25 | |||
| 26 | enum custom_keycodes { | ||
| 27 | LOWER = SAFE_RANGE, | ||
| 28 | RAISE, | ||
| 29 | ADJUST, | ||
| 30 | KANJI, | ||
| 31 | RGBRST | ||
| 32 | }; | ||
| 33 | |||
| 34 | // Base layer mod tap | ||
| 35 | #define KC_Z_SF LSFT_T(KC_Z) | ||
| 36 | #define KC_SLSF RSFT_T(KC_SLSH) | ||
| 37 | |||
| 38 | // Lower layer mod tap | ||
| 39 | #define KC_11SF LSFT_T(KC_F11) | ||
| 40 | #define KC_GRSF RSFT_T(KC_GRV) | ||
| 41 | |||
| 42 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 43 | [_BASE] = LAYOUT_ortho_4x10( | ||
| 44 | //,---------------------------------------------------------------------------------------------------. | ||
| 45 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, | ||
| 46 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 47 | KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, | ||
| 48 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 49 | KC_Z_SF, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSF, | ||
| 50 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
| 51 | KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_RGUI, KC_APP, KC_RCTL | ||
| 52 | //,---------------------------------------------------------------------------------------------------. | ||
| 53 | ), | ||
| 54 | |||
| 55 | [_LOWER] = LAYOUT_ortho_4x10( | ||
| 56 | //,---------------------------------------------------------------------------------------------------. | ||
| 57 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, | ||
| 58 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 59 | KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, | ||
| 60 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 61 | KC_11SF, KC_F12, KC_ESC, KC_TAB, KANJI, KC_DEL, XXXXXXX, XXXXXXX, KC_RO, KC_GRSF, | ||
| 62 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
| 63 | _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______ | ||
| 64 | //,---------------------------------------------------------------------------------------------------. | ||
| 65 | ), | ||
| 66 | |||
| 67 | [_RAISE] = LAYOUT_ortho_4x10( | ||
| 68 | //,---------------------------------------------------------------------------------------------------. | ||
| 69 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, | ||
| 70 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 71 | KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RSFT, | ||
| 72 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 73 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_SLSF, | ||
| 74 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
| 75 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 76 | //,---------------------------------------------------------------------------------------------------. | ||
| 77 | ), | ||
| 78 | |||
| 79 | [_ADJUST] = LAYOUT_ortho_4x10( | ||
| 80 | //,---------------------------------------------------------------------------------------------------. | ||
| 81 | RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_PSCR, | ||
| 82 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 83 | RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NLCK, | ||
| 84 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 85 | RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 86 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
| 87 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
| 88 | //,---------------------------------------------------------------------------------------------------. | ||
| 89 | ) | ||
| 90 | }; | ||
| 91 | |||
| 92 | #define L_BASE _BASE | ||
| 93 | #define L_LOWER (1<<_LOWER) | ||
| 94 | #define L_RAISE (1<<_RAISE) | ||
| 95 | #define L_ADJUST (1<<_ADJUST) | ||
| 96 | #define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) | ||
| 97 | |||
| 98 | #ifdef OLED_DRIVER_ENABLE | ||
| 99 | #include <stdio.h> | ||
| 100 | #include <string.h> | ||
| 101 | |||
| 102 | typedef struct { | ||
| 103 | uint8_t state; | ||
| 104 | char name[8]; | ||
| 105 | }LAYER_DISPLAY_NAME; | ||
| 106 | |||
| 107 | #define LAYER_DISPLAY_MAX 5 | ||
| 108 | const LAYER_DISPLAY_NAME layer_display_name[LAYER_DISPLAY_MAX] = { | ||
| 109 | {L_BASE, "Base"}, | ||
| 110 | {L_BASE + 1, "Base"}, | ||
| 111 | {L_LOWER, "Lower"}, | ||
| 112 | {L_RAISE, "Raise"}, | ||
| 113 | {L_ADJUST_TRI, "Adjust"} | ||
| 114 | }; | ||
| 115 | |||
| 116 | static inline const char* get_leyer_status(void) { | ||
| 117 | |||
| 118 | for (uint8_t i = 0; i < LAYER_DISPLAY_MAX; ++i) { | ||
| 119 | if (layer_state == 0 && layer_display_name[i].state == default_layer_state) { | ||
| 120 | |||
| 121 | return layer_display_name[i].name; | ||
| 122 | } else if (layer_state != 0 && layer_display_name[i].state == layer_state) { | ||
| 123 | |||
| 124 | return layer_display_name[i].name; | ||
| 125 | } | ||
| 126 | } | ||
| 127 | |||
| 128 | return "?"; | ||
| 129 | } | ||
| 130 | |||
| 131 | static char layer_status_buf[24] = "Layer state ready.\n"; | ||
| 132 | static inline void update_keymap_status(void) { | ||
| 133 | |||
| 134 | snprintf(layer_status_buf, sizeof(layer_status_buf) - 1, "OS:%s Layer:%s\n", | ||
| 135 | keymap_config.swap_lalt_lgui? "win" : "mac", get_leyer_status()); | ||
| 136 | } | ||
| 137 | |||
| 138 | static inline void render_keymap_status(void) { | ||
| 139 | |||
| 140 | oled_write(layer_status_buf, false); | ||
| 141 | } | ||
| 142 | |||
| 143 | #define UPDATE_KEYMAP_STATUS() update_keymap_status() | ||
| 144 | |||
| 145 | static inline void render_status(void) { | ||
| 146 | |||
| 147 | UPDATE_LED_STATUS(); | ||
| 148 | RENDER_LED_STATUS(); | ||
| 149 | render_keymap_status(); | ||
| 150 | RENDER_LOCK_STATUS(); | ||
| 151 | RENDER_KEY_STATUS(); | ||
| 152 | } | ||
| 153 | |||
| 154 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
| 155 | |||
| 156 | if (is_keyboard_master()) | ||
| 157 | return OLED_ROTATION_180; // flips the display 180 degrees if offhand | ||
| 158 | return rotation; | ||
| 159 | } | ||
| 160 | |||
| 161 | void oled_task_user(void) { | ||
| 162 | |||
| 163 | if (is_keyboard_master()) { | ||
| 164 | render_status(); | ||
| 165 | } else { | ||
| 166 | render_logo(); | ||
| 167 | } | ||
| 168 | } | ||
| 169 | |||
| 170 | #else | ||
| 171 | |||
| 172 | #define UPDATE_KEYMAP_STATUS() | ||
| 173 | |||
| 174 | #endif | ||
| 175 | |||
| 176 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 177 | |||
| 178 | UPDATE_KEY_STATUS(keycode, record); | ||
| 179 | |||
| 180 | bool result = false; | ||
| 181 | switch (keycode) { | ||
| 182 | case LOWER: | ||
| 183 | if (record->event.pressed) { | ||
| 184 | layer_on(_LOWER); | ||
| 185 | } else { | ||
| 186 | layer_off(_LOWER); | ||
| 187 | } | ||
| 188 | |||
| 189 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
| 190 | break; | ||
| 191 | case RAISE: | ||
| 192 | if (record->event.pressed) { | ||
| 193 | layer_on(_RAISE); | ||
| 194 | } else { | ||
| 195 | layer_off(_RAISE); | ||
| 196 | } | ||
| 197 | |||
| 198 | update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
| 199 | break; | ||
| 200 | case KANJI: | ||
| 201 | if (record->event.pressed) { | ||
| 202 | if (keymap_config.swap_lalt_lgui == false) { | ||
| 203 | register_code(KC_LANG2); | ||
| 204 | } else { | ||
| 205 | register_code16(A(KC_GRV)); | ||
| 206 | } | ||
| 207 | } else { | ||
| 208 | unregister_code(KC_LANG2); | ||
| 209 | } | ||
| 210 | break; | ||
| 211 | #ifdef RGBLIGHT_ENABLE | ||
| 212 | case RGBRST: | ||
| 213 | if (record->event.pressed) { | ||
| 214 | eeconfig_update_rgblight_default(); | ||
| 215 | rgblight_enable(); | ||
| 216 | } | ||
| 217 | break; | ||
| 218 | #endif | ||
| 219 | default: | ||
| 220 | result = true; | ||
| 221 | break; | ||
| 222 | } | ||
| 223 | |||
| 224 | UPDATE_KEYMAP_STATUS(); | ||
| 225 | return result; | ||
| 226 | } | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/default/rules.mk b/keyboards/marksard/rhymestone/keymaps/default/rules.mk new file mode 100644 index 000000000..c86cab8cc --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/default/rules.mk | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | MOUSEKEY_ENABLE = yes # Mouse keys | ||
| 2 | TAP_DANCE_ENABLE = no | ||
| 3 | |||
| 4 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
| 5 | OLED_DRIVER_ENABLE = no | ||
| 6 | LTO_ENABLE = yes | ||
| 7 | |||
| 8 | # If you want to change the display of OLED, you need to change here | ||
| 9 | SRC += ./common/oled_helper.c \ | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c b/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c new file mode 100644 index 000000000..1d4e78af8 --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/switch_tester/keymap.c | |||
| @@ -0,0 +1,76 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | enum layer_number { | ||
| 19 | _BASE, | ||
| 20 | _ADJUST, | ||
| 21 | }; | ||
| 22 | |||
| 23 | enum custom_keycodes { | ||
| 24 | LOWER = SAFE_RANGE, | ||
| 25 | ADJUST, | ||
| 26 | RGBRST | ||
| 27 | }; | ||
| 28 | |||
| 29 | // Layer Mode aliases | ||
| 30 | #define KC_LTAD LT(_ADJUST, KC_NO) | ||
| 31 | |||
| 32 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 33 | [_BASE] = LAYOUT_ortho_4x10( | ||
| 34 | //,---------------------------------------------------------------------------------------------------. | ||
| 35 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 36 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 37 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 38 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 39 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 40 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
| 41 | KC_LTAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
| 42 | //,---------------------------------------------------------------------------------------------------. | ||
| 43 | ), | ||
| 44 | |||
| 45 | [_ADJUST] = LAYOUT_ortho_4x10( | ||
| 46 | //,---------------------------------------------------------------------------------------------------. | ||
| 47 | RESET, RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 48 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 49 | RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 50 | //|---------+---------+---------+---------+---------+---------+---------+---------+---------+---------| | ||
| 51 | RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
| 52 | //`---------+---------+---------+---------+---------+---------+---------+---------+---------+---------' | ||
| 53 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX | ||
| 54 | //,---------------------------------------------------------------------------------------------------. | ||
| 55 | ) | ||
| 56 | }; | ||
| 57 | |||
| 58 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 59 | |||
| 60 | bool result = false; | ||
| 61 | switch (keycode) { | ||
| 62 | #ifdef RGBLIGHT_ENABLE | ||
| 63 | case RGBRST: | ||
| 64 | if (record->event.pressed) { | ||
| 65 | eeconfig_update_rgblight_default(); | ||
| 66 | rgblight_enable(); | ||
| 67 | } | ||
| 68 | break; | ||
| 69 | #endif | ||
| 70 | default: | ||
| 71 | result = true; | ||
| 72 | break; | ||
| 73 | } | ||
| 74 | |||
| 75 | return result; | ||
| 76 | } | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/switch_tester/readme.md b/keyboards/marksard/rhymestone/keymaps/switch_tester/readme.md new file mode 100644 index 000000000..f85906a83 --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/switch_tester/readme.md | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | # The switch tester keymap for Rhymestone | ||
| 2 | |||
| 3 | This keymap is Switch Tester and RGB_MATRIX Light demo. | ||
diff --git a/keyboards/marksard/rhymestone/keymaps/switch_tester/rules.mk b/keyboards/marksard/rhymestone/keymaps/switch_tester/rules.mk new file mode 100644 index 000000000..78824da30 --- /dev/null +++ b/keyboards/marksard/rhymestone/keymaps/switch_tester/rules.mk | |||
| @@ -0,0 +1,7 @@ | |||
| 1 | MOUSEKEY_ENABLE = no # Mouse keys | ||
| 2 | TAP_DANCE_ENABLE = no | ||
| 3 | |||
| 4 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 5 | OLED_DRIVER_ENABLE = no | ||
| 6 | LTO_ENABLE = yes | ||
| 7 | RGB_MATRIX_ENABLE = WS2812 | ||
diff --git a/keyboards/marksard/rhymestone/readme.md b/keyboards/marksard/rhymestone/readme.md new file mode 100644 index 000000000..721e8beb3 --- /dev/null +++ b/keyboards/marksard/rhymestone/readme.md | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | # Rhymestone | ||
| 2 | |||
| 3 |  | ||
| 4 | |||
| 5 | This is 40 keys split Ortholinear keyboard. | ||
| 6 | |||
| 7 | * Keyboard Maintainer: [marksard](https://github.com/marksard) | ||
| 8 | * Hardware Supported: Rhymestone PCB (with Pro Micro) | ||
| 9 | * Hardware Availability: [marksard keyboards](https://github.com/marksard/Keyboards/blob/master/rhymestone/) | ||
| 10 | |||
| 11 | Make example for this keyboard (after setting up your build environment): | ||
| 12 | |||
| 13 | make marksard/rhymestone:default | ||
| 14 | |||
| 15 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
| 16 | |||
| 17 | [Build guide](https://github.com/marksard/Keyboards/blob/master/rhymestone/documents/rhymestone_buildguide.md) | ||
| 18 | [Firmware](https://github.com/marksard/qmk_firmware/tree/my_customize/keyboards/rhymestone) | ||
diff --git a/keyboards/marksard/rhymestone/rev1/config.h b/keyboards/marksard/rhymestone/rev1/config.h new file mode 100644 index 000000000..9a1bf0a1d --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/config.h | |||
| @@ -0,0 +1,152 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2020 marksard | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #pragma once | ||
| 19 | |||
| 20 | #include "config_common.h" | ||
| 21 | |||
| 22 | /* USB Device descriptor parameter */ | ||
| 23 | #define VENDOR_ID 0xFEED | ||
| 24 | #define PRODUCT_ID 0xDFA1 | ||
| 25 | #define DEVICE_VER 0x0020 | ||
| 26 | #define MANUFACTURER marksard | ||
| 27 | #define PRODUCT Rhymestone | ||
| 28 | |||
| 29 | /* key matrix size */ | ||
| 30 | #define MATRIX_ROWS 8 | ||
| 31 | #define MATRIX_COLS 5 | ||
| 32 | |||
| 33 | /* | ||
| 34 | * Keyboard Matrix Assignments | ||
| 35 | * | ||
| 36 | * Change this to how you wired your keyboard | ||
| 37 | * COLS: AVR pins used for columns, left to right | ||
| 38 | * ROWS: AVR pins used for rows, top to bottom | ||
| 39 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
| 40 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
| 41 | * | ||
| 42 | */ | ||
| 43 | #define MATRIX_ROW_PINS { F4, F5, F6, F7 } | ||
| 44 | #define MATRIX_COL_PINS { D4, C6, D7, E6, B4 } | ||
| 45 | #define UNUSED_PINS | ||
| 46 | |||
| 47 | /* COL2ROW, ROW2COL*/ | ||
| 48 | #define DIODE_DIRECTION COL2ROW | ||
| 49 | |||
| 50 | /* | ||
| 51 | * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. | ||
| 52 | */ | ||
| 53 | #define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6 | ||
| 54 | |||
| 55 | // #define BACKLIGHT_PIN B7 | ||
| 56 | // #define BACKLIGHT_BREATHING | ||
| 57 | // #define BACKLIGHT_LEVELS 3 | ||
| 58 | |||
| 59 | #define RGB_DI_PIN D3 | ||
| 60 | |||
| 61 | #ifdef RGBLIGHT_ENABLE | ||
| 62 | // #ifdef RGB_DI_PIN | ||
| 63 | #define RGBLED_NUM 40 | ||
| 64 | #define RGBLED_SPLIT {20, 20} | ||
| 65 | #define RGBLIGHT_HUE_STEP 8 | ||
| 66 | #define RGBLIGHT_SAT_STEP 8 | ||
| 67 | #define RGBLIGHT_VAL_STEP 8 | ||
| 68 | #define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */ | ||
| 69 | #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ | ||
| 70 | /*== all animations enable ==*/ | ||
| 71 | // #define RGBLIGHT_ANIMATIONS | ||
| 72 | /*== or choose animations ==*/ | ||
| 73 | // #define RGBLIGHT_EFFECT_BREATHING | ||
| 74 | #define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
| 75 | #define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
| 76 | // #define RGBLIGHT_EFFECT_SNAKE | ||
| 77 | #define RGBLIGHT_EFFECT_KNIGHT | ||
| 78 | // #define RGBLIGHT_EFFECT_CHRISTMAS | ||
| 79 | #define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
| 80 | // #define RGBLIGHT_EFFECT_RGB_TEST | ||
| 81 | // #define RGBLIGHT_EFFECT_ALTERNATING | ||
| 82 | /*== customize breathing effect ==*/ | ||
| 83 | /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||
| 84 | #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 | ||
| 85 | /*==== use exp() and sin() ====*/ | ||
| 86 | #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 | ||
| 87 | #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 | ||
| 88 | #endif | ||
| 89 | |||
| 90 | #ifdef RGB_MATRIX_ENABLE | ||
| 91 | #define RGBLED_NUM 40 // Number of LEDs | ||
| 92 | #define DRIVER_LED_TOTAL RGBLED_NUM | ||
| 93 | #define RGB_MATRIX_KEYPRESSES // reacts to keypresses | ||
| 94 | // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) | ||
| 95 | // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects | ||
| 96 | #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended | ||
| 97 | // #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) | ||
| 98 | // #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) | ||
| 99 | #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 | ||
| 100 | #define RGB_MATRIX_HUE_STEP 8 | ||
| 101 | #define RGB_MATRIX_SAT_STEP 8 | ||
| 102 | #define RGB_MATRIX_VAL_STEP 8 | ||
| 103 | #define RGB_MATRIX_SPD_STEP 10 | ||
| 104 | |||
| 105 | // #define DISABLE_RGB_MATRIX_ALPHAS_MODS | ||
| 106 | // #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN | ||
| 107 | // #define DISABLE_RGB_MATRIX_BREATHING | ||
| 108 | // #define DISABLE_RGB_MATRIX_BAND_SAT | ||
| 109 | // #define DISABLE_RGB_MATRIX_BAND_VAL | ||
| 110 | // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT | ||
| 111 | // #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL | ||
| 112 | // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT | ||
| 113 | // #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL | ||
| 114 | // #define DISABLE_RGB_MATRIX_CYCLE_ALL | ||
| 115 | // #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT | ||
| 116 | // #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN | ||
| 117 | // #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN | ||
| 118 | // #define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL | ||
| 119 | // #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON | ||
| 120 | // #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL | ||
| 121 | // #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL | ||
| 122 | // #define DISABLE_RGB_MATRIX_DUAL_BEACON | ||
| 123 | // #define DISABLE_RGB_MATRIX_RAINBOW_BEACON | ||
| 124 | // #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS | ||
| 125 | // #define DISABLE_RGB_MATRIX_RAINDROPS | ||
| 126 | // #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS | ||
| 127 | |||
| 128 | #define RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
| 129 | // #define DISABLE_RGB_MATRIX_TYPING_HEATMAP | ||
| 130 | // #define DISABLE_RGB_MATRIX_DIGITAL_RAIN | ||
| 131 | |||
| 132 | // #define RGB_MATRIX_KEYPRESSES // reacts to keypresses | ||
| 133 | |||
| 134 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE | ||
| 135 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE | ||
| 136 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE | ||
| 137 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE | ||
| 138 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS | ||
| 139 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS | ||
| 140 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS | ||
| 141 | // #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS | ||
| 142 | |||
| 143 | // #define DISABLE_RGB_MATRIX_SPLASH | ||
| 144 | // #define DISABLE_RGB_MATRIX_MULTISPLASH | ||
| 145 | // #define DISABLE_RGB_MATRIX_SOLID_SPLASH | ||
| 146 | // #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH | ||
| 147 | |||
| 148 | #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_TYPING_HEATMAP | ||
| 149 | #endif | ||
| 150 | |||
| 151 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
| 152 | #define DEBOUNCE 5 | ||
diff --git a/keyboards/marksard/rhymestone/rev1/rev1.c b/keyboards/marksard/rhymestone/rev1/rev1.c new file mode 100644 index 000000000..a4dadd55c --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/rev1.c | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #include "rev1.h" | ||
| 18 | |||
| 19 | // Optional override functions below. | ||
| 20 | // You can leave any or all of these undefined. | ||
| 21 | // These are only required if you want to perform custom actions. | ||
| 22 | |||
| 23 | #ifdef RGB_MATRIX_ENABLE | ||
| 24 | led_config_t g_led_config = { { | ||
| 25 | { 10, 11, 12, 13, 0 }, | ||
| 26 | { 9, 18, 19, 14, 1 }, | ||
| 27 | { 8, 17, 16, 15, 2 }, | ||
| 28 | { 7, 6, 5, 4, 3 }, | ||
| 29 | { 30, 31, 32, 33, 20 }, | ||
| 30 | { 29, 38, 39, 34, 21 }, | ||
| 31 | { 28, 37, 36, 35, 22 }, | ||
| 32 | { 27, 26, 25, 24, 23 } | ||
| 33 | }, { | ||
| 34 | { 100, 0 }, { 100, 21 }, { 100, 43 }, { 100, 64 }, | ||
| 35 | { 75, 64 }, { 50, 64 }, { 25, 64 }, { 0, 64 }, | ||
| 36 | { 0, 43 }, { 0, 21 }, { 0, 0 }, | ||
| 37 | { 25, 0 }, { 50, 0 }, { 75, 0 }, | ||
| 38 | { 75, 21 }, { 75, 43 }, | ||
| 39 | { 50, 43 }, { 25, 43 }, | ||
| 40 | { 25, 21 }, { 50, 21 }, | ||
| 41 | { 125, 0 }, { 125, 21 }, { 125, 43 }, { 125, 64 }, | ||
| 42 | { 150, 64 }, { 175, 64 }, { 200, 64 }, { 225, 64 }, | ||
| 43 | { 225, 43 }, { 225, 21 }, { 225, 0 }, | ||
| 44 | { 200, 0 }, { 175, 0 }, { 150, 0 }, | ||
| 45 | { 150, 21 }, { 150, 43 }, | ||
| 46 | { 175, 43 }, { 200, 43 }, | ||
| 47 | { 200, 21 }, { 150, 21 } | ||
| 48 | }, { | ||
| 49 | 4, 4, 4, 1, | ||
| 50 | 1, 1, 1, 1, | ||
| 51 | 4, 4, 4, 4, | ||
| 52 | 4, 4, 4, 4, | ||
| 53 | 4, 4, 4, 4, | ||
| 54 | 4, 4, 4, 1, | ||
| 55 | 1, 1, 1, 1, | ||
| 56 | 4, 4, 4, 4, | ||
| 57 | 4, 4, 4, 4, | ||
| 58 | 4, 4, 4, 4 | ||
| 59 | } }; | ||
| 60 | #endif | ||
| 61 | |||
| 62 | __attribute__((weak)) | ||
| 63 | void matrix_init_user(void) {} | ||
| 64 | |||
| 65 | void matrix_init_kb(void) { | ||
| 66 | |||
| 67 | #ifdef RGB_MATRIX_ENABLE | ||
| 68 | // if (!is_keyboard_master()) { | ||
| 69 | // g_led_config = (led_config_t){ { | ||
| 70 | // { 30, 31, 32, 33, 20 }, | ||
| 71 | // { 29, 38, 39, 34, 21 }, | ||
| 72 | // { 28, 37, 36, 35, 22 }, | ||
| 73 | // { 27, 26, 25, 24, 23 }, | ||
| 74 | // { 10, 11, 12, 13, 0 }, | ||
| 75 | // { 9, 18, 19, 14, 1 }, | ||
| 76 | // { 8, 17, 16, 15, 2 }, | ||
| 77 | // { 7, 6, 5, 4, 3 } | ||
| 78 | // }, { | ||
| 79 | // { 125, 0 }, { 125, 21 }, { 125, 43 }, { 125, 64 }, | ||
| 80 | // { 150, 64 }, { 175, 64 }, { 200, 64 }, { 225, 64 }, | ||
| 81 | // { 225, 43 }, { 225, 21 }, { 225, 0 }, | ||
| 82 | // { 200, 0 }, { 175, 0 }, { 150, 0 }, | ||
| 83 | // { 150, 21 }, { 150, 43 }, | ||
| 84 | // { 175, 43 }, { 200, 43 }, | ||
| 85 | // { 200, 21 }, { 150, 21 }, | ||
| 86 | // { 100, 0 }, { 100, 21 }, { 100, 43 }, { 100, 64 }, | ||
| 87 | // { 75, 64 }, { 50, 64 }, { 25, 64 }, { 0, 64 }, | ||
| 88 | // { 0, 43 }, { 0, 21 }, { 0, 0 }, | ||
| 89 | // { 25, 0 }, { 50, 0 }, { 75, 0 }, | ||
| 90 | // { 75, 21 }, { 75, 43 }, | ||
| 91 | // { 50, 43 }, { 25, 43 }, | ||
| 92 | // { 25, 21 }, { 50, 21 } | ||
| 93 | // }, { | ||
| 94 | // 4, 4, 4, 1, | ||
| 95 | // 1, 1, 1, 1, | ||
| 96 | // 4, 4, 4, 4, | ||
| 97 | // 4, 4, 4, 4, | ||
| 98 | // 4, 4, 4, 4, | ||
| 99 | // 4, 4, 4, 1, | ||
| 100 | // 1, 1, 1, 1, | ||
| 101 | // 4, 4, 4, 4, | ||
| 102 | // 4, 4, 4, 4, | ||
| 103 | // 4, 4, 4, 4 | ||
| 104 | // } }; | ||
| 105 | // } | ||
| 106 | #endif | ||
| 107 | matrix_init_user(); | ||
| 108 | } | ||
diff --git a/keyboards/marksard/rhymestone/rev1/rev1.h b/keyboards/marksard/rhymestone/rev1/rev1.h new file mode 100644 index 000000000..855e288df --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/rev1.h | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | /* Copyright 2020 marksard | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include "quantum.h" | ||
| 20 | |||
| 21 | /* This is a shortcut to help you visually see your layout. | ||
| 22 | * | ||
| 23 | * The first section contains all of the arguments representing the physical | ||
| 24 | * layout of the board and position of the keys. | ||
| 25 | * | ||
| 26 | * The second converts the arguments into a two-dimensional array which | ||
| 27 | * represents the switch matrix. | ||
| 28 | */ | ||
| 29 | |||
| 30 | #ifndef FLIP_HALF | ||
| 31 | // Standard Keymap | ||
| 32 | // (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left) | ||
| 33 | #define LAYOUT_ortho_4x10( \ | ||
| 34 | L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ | ||
| 35 | L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ | ||
| 36 | L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ | ||
| 37 | L30, L31, L32, L33, L34, R30, R31, R32, R33, R34 \ | ||
| 38 | ) \ | ||
| 39 | { \ | ||
| 40 | { L00, L01, L02, L03, L04 }, \ | ||
| 41 | { L10, L11, L12, L13, L14 }, \ | ||
| 42 | { L20, L21, L22, L23, L24 }, \ | ||
| 43 | { L30, L31, L32, L33, L34 }, \ | ||
| 44 | { R04, R03, R02, R01, R00 }, \ | ||
| 45 | { R14, R13, R12, R11, R10 }, \ | ||
| 46 | { R24, R23, R22, R21, R20 }, \ | ||
| 47 | { R34, R33, R32, R31, R30 }, \ | ||
| 48 | } | ||
| 49 | #else | ||
| 50 | // Keymap with right side flipped | ||
| 51 | // (TRRS jack on both halves are to the right) | ||
| 52 | #define LAYOUT_ortho_4x10( \ | ||
| 53 | L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ | ||
| 54 | L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ | ||
| 55 | L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ | ||
| 56 | L30, L31, L32, L33, L34, R30, R31, R32, R33, R34 \ | ||
| 57 | ) \ | ||
| 58 | { \ | ||
| 59 | { L04, L03, L02, L01, L00 }, \ | ||
| 60 | { L14, L13, L12, L11, L10 }, \ | ||
| 61 | { L24, L23, L22, L21, L20 }, \ | ||
| 62 | { L34, L33, L32, L31, L30 }, \ | ||
| 63 | { R04, R03, R02, R01, R00 }, \ | ||
| 64 | { R14, R13, R12, R11, R10 }, \ | ||
| 65 | { R24, R23, R22, R21, R20 }, \ | ||
| 66 | { R34, R33, R32, R31, R30 }, \ | ||
| 67 | } | ||
| 68 | #endif | ||
| 69 | |||
| 70 | #ifdef USE_HASHTWENTY // The HashTwenty is Alpha version of The Rhymestone | ||
| 71 | #undef LAYOUT_ortho_4x10 | ||
| 72 | // HashTwenty layout | ||
| 73 | #define LAYOUT_ortho_4x10( \ | ||
| 74 | L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \ | ||
| 75 | L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \ | ||
| 76 | L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \ | ||
| 77 | L30, L31, L32, L33, L34, R30, R31, R32, R33, R34 \ | ||
| 78 | ) \ | ||
| 79 | { \ | ||
| 80 | { L04, L03, L02, L01, L00 }, \ | ||
| 81 | { L14, L13, L12, L11, L10 }, \ | ||
| 82 | { L24, L23, L22, L21, L20 }, \ | ||
| 83 | { L34, L33, L32, L31, L30 }, \ | ||
| 84 | { R00, R01, R02, R03, R04 }, \ | ||
| 85 | { R10, R11, R12, R13, R14 }, \ | ||
| 86 | { R20, R21, R22, R23, R24 }, \ | ||
| 87 | { R30, R31, R32, R33, R34 }, \ | ||
| 88 | } | ||
| 89 | #endif | ||
diff --git a/keyboards/marksard/rhymestone/rev1/rules.mk b/keyboards/marksard/rhymestone/rev1/rules.mk new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/keyboards/marksard/rhymestone/rev1/rules.mk | |||
diff --git a/keyboards/marksard/rhymestone/rules.mk b/keyboards/marksard/rhymestone/rules.mk new file mode 100644 index 000000000..1f58665ef --- /dev/null +++ b/keyboards/marksard/rhymestone/rules.mk | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = caterina | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | ||
| 11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = no # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 18 | NKRO_ENABLE = yes # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 20 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
| 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 22 | AUDIO_ENABLE = no # Audio output | ||
| 23 | SPLIT_KEYBOARD = yes | ||
| 24 | |||
| 25 | DEFAULT_FOLDER = marksard/rhymestone/rev1 | ||
| 26 | |||
| 27 | LAYOUTS = ortho_4x10 | ||
diff --git a/keyboards/planck/keymaps/gitdrik/config.h b/keyboards/planck/keymaps/gitdrik/config.h new file mode 100644 index 000000000..0acf06dc5 --- /dev/null +++ b/keyboards/planck/keymaps/gitdrik/config.h | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | /* Original code probably copyright 2015-2017 Jack Humbert | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | /* Passed along from planck default to Finnish SFS 5966 by gitdrik, 2020. */ | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #ifdef AUDIO_ENABLE | ||
| 22 | #define STARTUP_SONG SONG(PLANCK_SOUND) | ||
| 23 | // #define STARTUP_SONG SONG(NO_SOUND) | ||
| 24 | |||
| 25 | #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \ | ||
| 26 | SONG(COLEMAK_SOUND), \ | ||
| 27 | SONG(DVORAK_SOUND) \ | ||
| 28 | } | ||
| 29 | #endif | ||
| 30 | |||
| 31 | /* | ||
| 32 | * MIDI options | ||
| 33 | */ | ||
| 34 | |||
| 35 | /* Prevent use of disabled MIDI features in the keymap */ | ||
| 36 | //#define MIDI_ENABLE_STRICT 1 | ||
| 37 | |||
| 38 | /* enable basic MIDI features: | ||
| 39 | - MIDI notes can be sent when in Music mode is on | ||
| 40 | */ | ||
| 41 | |||
| 42 | #define MIDI_BASIC | ||
| 43 | |||
| 44 | /* enable advanced MIDI features: | ||
| 45 | - MIDI notes can be added to the keymap | ||
| 46 | - Octave shift and transpose | ||
| 47 | - Virtual sustain, portamento, and modulation wheel | ||
| 48 | - etc. | ||
| 49 | */ | ||
| 50 | //#define MIDI_ADVANCED | ||
| 51 | |||
| 52 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
| 53 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | ||
| 54 | |||
| 55 | // Most tactile encoders have detents every 4 stages | ||
| 56 | #define ENCODER_RESOLUTION 4 | ||
diff --git a/keyboards/planck/keymaps/gitdrik/keymap.c b/keyboards/planck/keymaps/gitdrik/keymap.c new file mode 100644 index 000000000..bdaef2076 --- /dev/null +++ b/keyboards/planck/keymaps/gitdrik/keymap.c | |||
| @@ -0,0 +1,231 @@ | |||
| 1 | /* Copyright 2015-2017 Jack Humbert | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | /* Modified from planck default to Finnish SFS 5966 by gitdrik, 2020. */ | ||
| 18 | |||
| 19 | #include QMK_KEYBOARD_H | ||
| 20 | #include "muse.h" | ||
| 21 | |||
| 22 | enum planck_layers { | ||
| 23 | _BASE, | ||
| 24 | _LEFT, | ||
| 25 | _RIGHT, | ||
| 26 | _LEFTER, | ||
| 27 | _RIGHTER | ||
| 28 | }; | ||
| 29 | |||
| 30 | #define LEFT TT(_LEFT) | ||
| 31 | #define RIGHT MO(_RIGHT) | ||
| 32 | #define LEFTER MO(_LEFTER) | ||
| 33 | #define RIGHTER MO(_RIGHTER) | ||
| 34 | |||
| 35 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 36 | |||
| 37 | /* Base | ||
| 38 | * ,-----------------------------------------------------------------------------------. | ||
| 39 | * | Tab | Q | W | E | R | T | Y | U | I | O | P | Å | | ||
| 40 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 41 | * | Esc | A | S | D | F | G | H | J | K | L | Ö | Ä | | ||
| 42 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 43 | * | Ctrl | Shift| X | C | V | B | N | M | , | . | Shift| Enter| | ||
| 44 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 45 | * | Z | GUI | Alt |Left2 | Left |BkSpc | Spc |Right |Rghter| < | - | / | | ||
| 46 | * `-----------------------------------------------------------------------------------' | ||
| 47 | */ | ||
| 48 | [_BASE] = LAYOUT_planck_grid( | ||
| 49 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | ||
| 50 | KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
| 51 | KC_LCTL, KC_LSFT, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_ENT , | ||
| 52 | KC_Z, KC_LGUI, KC_LALT, LEFTER, LEFT, KC_BSPC, KC_SPC, RIGHT, RIGHTER, KC_NUBS, KC_SLSH, LSFT(KC_7) | ||
| 53 | ), | ||
| 54 | |||
| 55 | /* Left | ||
| 56 | * ,-----------------------------------------------------------------------------------. | ||
| 57 | * | Tab | F10 | F9 | F8 | F7 | { | } | 7 | 8 | 9 | ^ | = | | ||
| 58 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 59 | * | Esc | F11 | F6 | F5 | F4 | ( | ) | 4 | 5 | 6 | + | * | | ||
| 60 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 61 | * | RCtrl| Shift| F3 | F2 | F1 | [ | ] | 1 | 2 | 3 | Shift| Enter| | ||
| 62 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 63 | * | F12 | GUI | Alt |Lefter| Left |BkSpc | Spc |Right | 0 | , | - | / | | ||
| 64 | * `-----------------------------------------------------------------------------------' | ||
| 65 | */ | ||
| 66 | [_LEFT] = LAYOUT_planck_grid( | ||
| 67 | KC_TRNS, KC_F10, KC_F9, KC_F8, KC_F7, RALT(KC_7), RALT(KC_0), KC_7, KC_8, KC_9, LSFT(KC_RBRC), LSFT(KC_0), | ||
| 68 | KC_TRNS, KC_F11, KC_F6, KC_F5, KC_F4, LSFT(KC_8), LSFT(KC_9), KC_4, KC_5, KC_6, KC_PPLS, KC_PAST, | ||
| 69 | KC_RCTL, KC_TRNS, KC_F3, KC_F2, KC_F1, RALT(KC_8), RALT(KC_9), KC_1, KC_2, KC_3, KC_TRNS, KC_TRNS, | ||
| 70 | KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_COMM, KC_PMNS, KC_PSLS | ||
| 71 | ), | ||
| 72 | |||
| 73 | /* Right | ||
| 74 | * ,-----------------------------------------------------------------------------------. | ||
| 75 | * | Tab | ◌̄ | ◌̈ | ◌́ | ◌̀ | ◌̃ | ◌̆ | Home | Up | End | Ins | PgUp | | ||
| 76 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 77 | * | Esc | @ | $ | ° | & | # | % | Left | Down | Right| Del | PgDn | | ||
| 78 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 79 | * | RCtrl| Shift| ” | « | » | ‚ „ | ‰ |PlayPs| << | >> | Shift| Enter| | ||
| 80 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 81 | * | “ | GUI | Alt |Lefter| |BkSpc | Spc |Right |Rghter| Vol- | Vol+ | Mute | | ||
| 82 | * `-----------------------------------------------------------------------------------' | ||
| 83 | */ | ||
| 84 | [_RIGHT] = LAYOUT_planck_grid( | ||
| 85 | KC_TRNS, RALT(LSFT(KC_RBRC)), KC_RBRC, KC_EQL , LSFT(KC_EQL), RALT(KC_RBRC), RALT(KC_NUHS), KC_HOME, KC_UP, KC_END , KC_INS , KC_PGUP, | ||
| 86 | KC_TRNS, RALT(KC_2), RALT(KC_4), RALT(LSFT(KC_0)), LSFT(KC_6), LSFT(KC_3), LSFT(KC_5), KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_PGDN, | ||
| 87 | KC_RCTRL, KC_TRNS, RALT(LSFT(KC_2)), RALT(LSFT(KC_4)), RALT(LSFT(KC_3)), RALT(KC_6), RALT(KC_5), KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, | ||
| 88 | RALT(LSFT(KC_5)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE | ||
| 89 | ), | ||
| 90 | |||
| 91 | /* Lefter | ||
| 92 | * ,-----------------------------------------------------------------------------------. | ||
| 93 | * | Tab | § ½ | " | € | | þ Þ | ¡ | ! | ı | œ Œ | ◌̛ ◌̉ | ◌̋ ◌̊ | | ||
| 94 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 95 | * | Esc | ə Ə | ß ẞ | ð Ð | ' | | | | ĸ | ◌̵ | ø Ø | æ Æ | | ||
| 96 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 97 | * | Ctrl | Shift| × · | ◌̧ ◌̨ | | \ | ŋ Ŋ | µ — | ’ ‘ | ◌̣ ◌̇ | Shift| Enter| | ||
| 98 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 99 | * | ʒ Ʒ | GUI | Alt |Lefter| | BkSpc| NbSp | |Rghter| | | – ◌̦ | ? | | ||
| 100 | * `-----------------------------------------------------------------------------------' | ||
| 101 | */ | ||
| 102 | [_LEFTER] = LAYOUT_planck_grid( | ||
| 103 | KC_TRNS, KC_GRV, LSFT(KC_2), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(LSFT(KC_1)), LSFT(KC_1), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC), | ||
| 104 | KC_TRNS, RALT(KC_A),RALT(KC_S), RALT(KC_D), KC_NUHS, RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), RALT(KC_L), RALT(KC_SCLN), RALT(KC_QUOT), | ||
| 105 | KC_TRNS, KC_TRNS, RALT(KC_X), RALT(KC_EQL), RALT(KC_V), RALT(KC_MINS), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), KC_TRNS, KC_TRNS, | ||
| 106 | RALT(KC_Z),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_BSPC), RALT(KC_SPC), KC_TRNS, KC_TRNS, RALT(KC_NUBS), RALT(KC_SLSH), LSFT(KC_MINS) | ||
| 107 | ), | ||
| 108 | |||
| 109 | /* Righter | ||
| 110 | * ,-----------------------------------------------------------------------------------. | ||
| 111 | * | | Reset| Debug| | | | |WheLft| MUp |WheRgt| MBt2 | WheUp| | ||
| 112 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 113 | * | | MBt4 | MBt3 | MBt2 | MBt1 | | | MLeft| MDown|MRight| MBt1 | WheDn| | ||
| 114 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 115 | * | | |MUSmod|Mus on|Musoff| | | MBt1 | MBt2 | MBt3 | | | | ||
| 116 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 117 | * | | | | | | | | |Rghter|Light-|Light+| | | ||
| 118 | * `-----------------------------------------------------------------------------------' | ||
| 119 | */ | ||
| 120 | [_RIGHTER] = LAYOUT_planck_grid( | ||
| 121 | KC_TRNS, RESET, DEBUG, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, KC_WH_U, | ||
| 122 | KC_TRNS, KC_BTN4, KC_BTN3, KC_BTN2, KC_BTN1, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN1, KC_WH_D, | ||
| 123 | KC_TRNS, KC_TRNS, MU_MOD, MU_ON, MU_OFF, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_TRNS, KC_TRNS, | ||
| 124 | KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_BRID, KC_BRIU, KC_NO | ||
| 125 | ), | ||
| 126 | |||
| 127 | }; | ||
| 128 | |||
| 129 | #ifdef AUDIO_ENABLE | ||
| 130 | float plover_song[][2] = SONG(PLOVER_SOUND); | ||
| 131 | float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); | ||
| 132 | #endif | ||
| 133 | |||
| 134 | bool muse_mode = false; | ||
| 135 | uint8_t last_muse_note = 0; | ||
| 136 | uint16_t muse_counter = 0; | ||
| 137 | uint8_t muse_offset = 70; | ||
| 138 | uint16_t muse_tempo = 50; | ||
| 139 | |||
| 140 | void encoder_update(bool clockwise) { | ||
| 141 | if (muse_mode) { | ||
| 142 | if (IS_LAYER_ON(_RIGHT)) { | ||
| 143 | if (clockwise) { | ||
| 144 | muse_offset++; | ||
| 145 | } else { | ||
| 146 | muse_offset--; | ||
| 147 | } | ||
| 148 | } else { | ||
| 149 | if (clockwise) { | ||
| 150 | muse_tempo+=1; | ||
| 151 | } else { | ||
| 152 | muse_tempo-=1; | ||
| 153 | } | ||
| 154 | } | ||
| 155 | } else { | ||
| 156 | if (clockwise) { | ||
| 157 | #ifdef MOUSEKEY_ENABLE | ||
| 158 | tap_code(KC_MS_WH_DOWN); | ||
| 159 | #else | ||
| 160 | tap_code(KC_PGDN); | ||
| 161 | #endif | ||
| 162 | } else { | ||
| 163 | #ifdef MOUSEKEY_ENABLE | ||
| 164 | tap_code(KC_MS_WH_UP); | ||
| 165 | #else | ||
| 166 | tap_code(KC_PGUP); | ||
| 167 | #endif | ||
| 168 | } | ||
| 169 | } | ||
| 170 | } | ||
| 171 | |||
| 172 | void dip_switch_update_user(uint8_t index, bool active) { | ||
| 173 | switch (index) { | ||
| 174 | case 0: { | ||
| 175 | #ifdef AUDIO_ENABLE | ||
| 176 | static bool play_sound = false; | ||
| 177 | #endif | ||
| 178 | if (active) { | ||
| 179 | #ifdef AUDIO_ENABLE | ||
| 180 | if (play_sound) { PLAY_SONG(plover_song); } | ||
| 181 | #endif | ||
| 182 | layer_on(_LEFTER); | ||
| 183 | } else { | ||
| 184 | #ifdef AUDIO_ENABLE | ||
| 185 | if (play_sound) { PLAY_SONG(plover_gb_song); } | ||
| 186 | #endif | ||
| 187 | layer_off(_LEFTER); | ||
| 188 | } | ||
| 189 | #ifdef AUDIO_ENABLE | ||
| 190 | play_sound = true; | ||
| 191 | #endif | ||
| 192 | break; | ||
| 193 | } | ||
| 194 | case 1: | ||
| 195 | if (active) { | ||
| 196 | muse_mode = true; | ||
| 197 | } else { | ||
| 198 | muse_mode = false; | ||
| 199 | } | ||
| 200 | } | ||
| 201 | } | ||
| 202 | |||
| 203 | void matrix_scan_user(void) { | ||
| 204 | #ifdef AUDIO_ENABLE | ||
| 205 | if (muse_mode) { | ||
| 206 | if (muse_counter == 0) { | ||
| 207 | uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; | ||
| 208 | if (muse_note != last_muse_note) { | ||
| 209 | stop_note(compute_freq_for_midi_note(last_muse_note)); | ||
| 210 | play_note(compute_freq_for_midi_note(muse_note), 0xF); | ||
| 211 | last_muse_note = muse_note; | ||
| 212 | } | ||
| 213 | } | ||
| 214 | muse_counter = (muse_counter + 1) % muse_tempo; | ||
| 215 | } else { | ||
| 216 | if (muse_counter) { | ||
| 217 | stop_all_notes(); | ||
| 218 | muse_counter = 0; | ||
| 219 | } | ||
| 220 | } | ||
| 221 | #endif | ||
| 222 | } | ||
| 223 | |||
| 224 | bool music_mask_user(uint16_t keycode) { | ||
| 225 | switch (keycode) { | ||
| 226 | case _LEFTER: | ||
| 227 | return false; | ||
| 228 | default: | ||
| 229 | return true; | ||
| 230 | } | ||
| 231 | } | ||
diff --git a/keyboards/planck/keymaps/gitdrik/readme.md b/keyboards/planck/keymaps/gitdrik/readme.md new file mode 100644 index 000000000..f06456518 --- /dev/null +++ b/keyboards/planck/keymaps/gitdrik/readme.md | |||
| @@ -0,0 +1 @@ | |||
| # Finnish SFS 5966 layout by gitdrik 2020. | |||
diff --git a/keyboards/planck/keymaps/gitdrik/rules.mk b/keyboards/planck/keymaps/gitdrik/rules.mk new file mode 100644 index 000000000..67528de9c --- /dev/null +++ b/keyboards/planck/keymaps/gitdrik/rules.mk | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | SRC += muse.c | ||
| 2 | MOUSEKEY_ENABLE = yes | ||
| 3 | AUDIO_ENABLE = yes | ||
diff --git a/keyboards/plume/plume65/config.h b/keyboards/plume/plume65/config.h new file mode 100644 index 000000000..2cd05e180 --- /dev/null +++ b/keyboards/plume/plume65/config.h | |||
| @@ -0,0 +1,137 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include "config_common.h" | ||
| 20 | |||
| 21 | /* USB Device descriptor parameter */ | ||
| 22 | #define VENDOR_ID 0x5D66 | ||
| 23 | #define PRODUCT_ID 0x22CF | ||
| 24 | #define DEVICE_VER 0x0001 | ||
| 25 | #define MANUFACTURER Plume Keyboards LLC | ||
| 26 | #define PRODUCT Plume65 | ||
| 27 | |||
| 28 | /* key matrix size */ | ||
| 29 | #define MATRIX_ROWS 5 | ||
| 30 | #define MATRIX_COLS 15 | ||
| 31 | |||
| 32 | /* | ||
| 33 | * Keyboard Matrix Assignments | ||
| 34 | * | ||
| 35 | * Change this to how you wired your keyboard | ||
| 36 | * COLS: AVR pins used for columns, left to right | ||
| 37 | * ROWS: AVR pins used for rows, top to bottom | ||
| 38 | * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) | ||
| 39 | * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) | ||
| 40 | * | ||
| 41 | */ | ||
| 42 | #define MATRIX_ROW_PINS { D2, D5, E6, D0, D1 } | ||
| 43 | #define MATRIX_COL_PINS { B7, F7, C7, C6, B6, F0, B5, F1, B4, F4, D7, F5, D6, F6, D4 } | ||
| 44 | #define UNUSED_PINS { } | ||
| 45 | |||
| 46 | /* COL2ROW, ROW2COL*/ | ||
| 47 | #define DIODE_DIRECTION COL2ROW | ||
| 48 | |||
| 49 | #define RGB_DI_PIN B0 | ||
| 50 | // #ifdef RGB_DI_PIN | ||
| 51 | #define RGBLED_NUM 10 | ||
| 52 | // #define RGBLIGHT_HUE_STEP 8 | ||
| 53 | // #define RGBLIGHT_SAT_STEP 8 | ||
| 54 | // #define RGBLIGHT_VAL_STEP 8 | ||
| 55 | // #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ | ||
| 56 | // #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ | ||
| 57 | // /*== all animations enable ==*/ | ||
| 58 | #define RGBLIGHT_ANIMATIONS | ||
| 59 | // /*== or choose animations ==*/ | ||
| 60 | // #define RGBLIGHT_EFFECT_BREATHING | ||
| 61 | // #define RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
| 62 | // #define RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
| 63 | // #define RGBLIGHT_EFFECT_SNAKE | ||
| 64 | // #define RGBLIGHT_EFFECT_KNIGHT | ||
| 65 | // #define RGBLIGHT_EFFECT_CHRISTMAS | ||
| 66 | // #define RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
| 67 | // #define RGBLIGHT_EFFECT_RGB_TEST | ||
| 68 | // #define RGBLIGHT_EFFECT_ALTERNATING | ||
| 69 | // /*== customize breathing effect ==*/ | ||
| 70 | // /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||
| 71 | // #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 | ||
| 72 | // /*==== use exp() and sin() ====*/ | ||
| 73 | // #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 | ||
| 74 | // #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 | ||
| 75 | // #endif | ||
| 76 | |||
| 77 | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||
| 78 | #define DEBOUNCE 5 | ||
| 79 | |||
| 80 | /* define if matrix has ghost (lacks anti-ghosting diodes) */ | ||
| 81 | //#define MATRIX_HAS_GHOST | ||
| 82 | |||
| 83 | /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||
| 84 | #define LOCKING_SUPPORT_ENABLE | ||
| 85 | /* Locking resynchronize hack */ | ||
| 86 | #define LOCKING_RESYNC_ENABLE | ||
| 87 | |||
| 88 | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held. | ||
| 89 | * This is userful for the Windows task manager shortcut (ctrl+shift+esc). | ||
| 90 | */ | ||
| 91 | // #define GRAVE_ESC_CTRL_OVERRIDE | ||
| 92 | |||
| 93 | /* | ||
| 94 | * Force NKRO | ||
| 95 | * | ||
| 96 | * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||
| 97 | * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||
| 98 | * makefile for this to work.) | ||
| 99 | * | ||
| 100 | * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||
| 101 | * until the next keyboard reset. | ||
| 102 | * | ||
| 103 | * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||
| 104 | * fully operational during normal computer usage. | ||
| 105 | * | ||
| 106 | * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||
| 107 | * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||
| 108 | * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||
| 109 | * power-up. | ||
| 110 | * | ||
| 111 | */ | ||
| 112 | //#define FORCE_NKRO | ||
| 113 | |||
| 114 | /* | ||
| 115 | * Feature disable options | ||
| 116 | * These options are also useful to firmware size reduction. | ||
| 117 | */ | ||
| 118 | |||
| 119 | /* disable debug print */ | ||
| 120 | //#define NO_DEBUG | ||
| 121 | |||
| 122 | /* disable print */ | ||
| 123 | //#define NO_PRINT | ||
| 124 | |||
| 125 | /* disable action features */ | ||
| 126 | //#define NO_ACTION_LAYER | ||
| 127 | //#define NO_ACTION_TAPPING | ||
| 128 | //#define NO_ACTION_ONESHOT | ||
| 129 | //#define NO_ACTION_MACRO | ||
| 130 | //#define NO_ACTION_FUNCTION | ||
| 131 | |||
| 132 | /* Bootmagic Lite key configuration */ | ||
| 133 | // #define BOOTMAGIC_LITE_ROW 0 | ||
| 134 | // #define BOOTMAGIC_LITE_COLUMN 0 | ||
| 135 | |||
| 136 | #define QMK_ESC_OUTPUT B7 // usually COL | ||
| 137 | #define QMK_ESC_INPUT D2 // usually ROW | ||
diff --git a/keyboards/plume/plume65/info.json b/keyboards/plume/plume65/info.json new file mode 100644 index 000000000..941d911f3 --- /dev/null +++ b/keyboards/plume/plume65/info.json | |||
| @@ -0,0 +1,376 @@ | |||
| 1 | { | ||
| 2 | "keyboard_name": "Plume65", | ||
| 3 | "url": "", | ||
| 4 | "maintainer": "maartenwut", | ||
| 5 | "width": 16, | ||
| 6 | "height": 5, | ||
| 7 | "layouts": { | ||
| 8 | "LAYOUT_iso": { | ||
| 9 | "layout": [ | ||
| 10 | {"x":0, "y":0}, | ||
| 11 | {"x":1, "y":0}, | ||
| 12 | {"x":2, "y":0}, | ||
| 13 | {"x":3, "y":0}, | ||
| 14 | {"x":4, "y":0}, | ||
| 15 | {"x":5, "y":0}, | ||
| 16 | {"x":6, "y":0}, | ||
| 17 | {"x":7, "y":0}, | ||
| 18 | {"x":8, "y":0}, | ||
| 19 | {"x":9, "y":0}, | ||
| 20 | {"x":10, "y":0}, | ||
| 21 | {"x":11, "y":0}, | ||
| 22 | {"x":12, "y":0}, | ||
| 23 | {"x":13, "y":0, "w":2}, | ||
| 24 | |||
| 25 | {"x":0, "y":1, "w":1.5}, | ||
| 26 | {"x":1.5, "y":1}, | ||
| 27 | {"x":2.5, "y":1}, | ||
| 28 | {"x":3.5, "y":1}, | ||
| 29 | {"x":4.5, "y":1}, | ||
| 30 | {"x":5.5, "y":1}, | ||
| 31 | {"x":6.5, "y":1}, | ||
| 32 | {"x":7.5, "y":1}, | ||
| 33 | {"x":8.5, "y":1}, | ||
| 34 | {"x":9.5, "y":1}, | ||
| 35 | {"x":10.5, "y":1}, | ||
| 36 | {"x":11.5, "y":1}, | ||
| 37 | {"x":12.5, "y":1}, | ||
| 38 | {"x":15, "y":1}, | ||
| 39 | |||
| 40 | {"x":0, "y":2, "w":1.75}, | ||
| 41 | {"x":1.75, "y":2}, | ||
| 42 | {"x":2.75, "y":2}, | ||
| 43 | {"x":3.75, "y":2}, | ||
| 44 | {"x":4.75, "y":2}, | ||
| 45 | {"x":5.75, "y":2}, | ||
| 46 | {"x":6.75, "y":2}, | ||
| 47 | {"x":7.75, "y":2}, | ||
| 48 | {"x":8.75, "y":2}, | ||
| 49 | {"x":9.75, "y":2}, | ||
| 50 | {"x":10.75, "y":2}, | ||
| 51 | {"x":11.75, "y":2}, | ||
| 52 | {"x":12.75, "y":2}, | ||
| 53 | {"x":13.75, "y":1, "w":1.25, "h":2}, | ||
| 54 | {"x":15, "y":2}, | ||
| 55 | |||
| 56 | {"x":0, "y":3, "w":1.25}, | ||
| 57 | {"x":1.25, "y":3}, | ||
| 58 | {"x":2.25, "y":3}, | ||
| 59 | {"x":3.25, "y":3}, | ||
| 60 | {"x":4.25, "y":3}, | ||
| 61 | {"x":5.25, "y":3}, | ||
| 62 | {"x":6.25, "y":3}, | ||
| 63 | {"x":7.25, "y":3}, | ||
| 64 | {"x":8.25, "y":3}, | ||
| 65 | {"x":9.25, "y":3}, | ||
| 66 | {"x":10.25, "y":3}, | ||
| 67 | {"x":11.25, "y":3}, | ||
| 68 | {"x":12.25, "y":3, "w":1.75}, | ||
| 69 | {"x":14, "y":3}, | ||
| 70 | {"x":15, "y":3}, | ||
| 71 | |||
| 72 | {"x":0, "y":4, "w":1.5}, | ||
| 73 | {"x":2.5, "y":4, "w":1.5}, | ||
| 74 | {"x":4, "y":4, "w":7}, | ||
| 75 | {"x":11, "y":4, "w":1.5}, | ||
| 76 | {"x":13, "y":4}, | ||
| 77 | {"x":14, "y":4}, | ||
| 78 | {"x":15, "y":4} | ||
| 79 | ] | ||
| 80 | }, | ||
| 81 | "LAYOUT_ansi": { | ||
| 82 | "layout": [ | ||
| 83 | {"x":0, "y":0}, | ||
| 84 | {"x":1, "y":0}, | ||
| 85 | {"x":2, "y":0}, | ||
| 86 | {"x":3, "y":0}, | ||
| 87 | {"x":4, "y":0}, | ||
| 88 | {"x":5, "y":0}, | ||
| 89 | {"x":6, "y":0}, | ||
| 90 | {"x":7, "y":0}, | ||
| 91 | {"x":8, "y":0}, | ||
| 92 | {"x":9, "y":0}, | ||
| 93 | {"x":10, "y":0}, | ||
| 94 | {"x":11, "y":0}, | ||
| 95 | {"x":12, "y":0}, | ||
| 96 | {"x":13, "y":0, "w":2}, | ||
| 97 | |||
| 98 | {"x":0, "y":1, "w":1.5}, | ||
| 99 | {"x":1.5, "y":1}, | ||
| 100 | {"x":2.5, "y":1}, | ||
| 101 | {"x":3.5, "y":1}, | ||
| 102 | {"x":4.5, "y":1}, | ||
| 103 | {"x":5.5, "y":1}, | ||
| 104 | {"x":6.5, "y":1}, | ||
| 105 | {"x":7.5, "y":1}, | ||
| 106 | {"x":8.5, "y":1}, | ||
| 107 | {"x":9.5, "y":1}, | ||
| 108 | {"x":10.5, "y":1}, | ||
| 109 | {"x":11.5, "y":1}, | ||
| 110 | {"x":12.5, "y":1}, | ||
| 111 | {"x":13.5, "y":1, "w":1.5}, | ||
| 112 | {"x":15, "y":1}, | ||
| 113 | |||
| 114 | {"x":0, "y":2, "w":1.75}, | ||
| 115 | {"x":1.75, "y":2}, | ||
| 116 | {"x":2.75, "y":2}, | ||
| 117 | {"x":3.75, "y":2}, | ||
| 118 | {"x":4.75, "y":2}, | ||
| 119 | {"x":5.75, "y":2}, | ||
| 120 | {"x":6.75, "y":2}, | ||
| 121 | {"x":7.75, "y":2}, | ||
| 122 | {"x":8.75, "y":2}, | ||
| 123 | {"x":9.75, "y":2}, | ||
| 124 | {"x":10.75, "y":2}, | ||
| 125 | {"x":11.75, "y":2}, | ||
| 126 | {"x":12.75, "y":2, "w":2.25}, | ||
| 127 | {"x":15, "y":2}, | ||
| 128 | |||
| 129 | {"x":0, "y":3, "w":2.25}, | ||
| 130 | {"x":2.25, "y":3}, | ||
| 131 | {"x":3.25, "y":3}, | ||
| 132 | {"x":4.25, "y":3}, | ||
| 133 | {"x":5.25, "y":3}, | ||
| 134 | {"x":6.25, "y":3}, | ||
| 135 | {"x":7.25, "y":3}, | ||
| 136 | {"x":8.25, "y":3}, | ||
| 137 | {"x":9.25, "y":3}, | ||
| 138 | {"x":10.25, "y":3}, | ||
| 139 | {"x":11.25, "y":3}, | ||
| 140 | {"x":12.25, "y":3, "w":1.75}, | ||
| 141 | {"x":14, "y":3}, | ||
| 142 | {"x":15, "y":3}, | ||
| 143 | |||
| 144 | {"x":0, "y":4, "w":1.5}, | ||
| 145 | {"x":2.5, "y":4, "w":1.5}, | ||
| 146 | {"x":4, "y":4, "w":7}, | ||
| 147 | {"x":11, "y":4, "w":1.5}, | ||
| 148 | {"x":13, "y":4}, | ||
| 149 | {"x":14, "y":4}, | ||
| 150 | {"x":15, "y":4} | ||
| 151 | ] | ||
| 152 | }, | ||
| 153 | "LAYOUT_iso_split_bs": { | ||
| 154 | "layout": [ | ||
| 155 | {"x":0, "y":0}, | ||
| 156 | {"x":1, "y":0}, | ||
| 157 | {"x":2, "y":0}, | ||
| 158 | {"x":3, "y":0}, | ||
| 159 | {"x":4, "y":0}, | ||
| 160 | {"x":5, "y":0}, | ||
| 161 | {"x":6, "y":0}, | ||
| 162 | {"x":7, "y":0}, | ||
| 163 | {"x":8, "y":0}, | ||
| 164 | {"x":9, "y":0}, | ||
| 165 | {"x":10, "y":0}, | ||
| 166 | {"x":11, "y":0}, | ||
| 167 | {"x":12, "y":0}, | ||
| 168 | {"x":13, "y":0}, | ||
| 169 | {"x":14, "y":0}, | ||
| 170 | |||
| 171 | {"x":0, "y":1, "w":1.5}, | ||
| 172 | {"x":1.5, "y":1}, | ||
| 173 | {"x":2.5, "y":1}, | ||
| 174 | {"x":3.5, "y":1}, | ||
| 175 | {"x":4.5, "y":1}, | ||
| 176 | {"x":5.5, "y":1}, | ||
| 177 | {"x":6.5, "y":1}, | ||
| 178 | {"x":7.5, "y":1}, | ||
| 179 | {"x":8.5, "y":1}, | ||
| 180 | {"x":9.5, "y":1}, | ||
| 181 | {"x":10.5, "y":1}, | ||
| 182 | {"x":11.5, "y":1}, | ||
| 183 | {"x":12.5, "y":1}, | ||
| 184 | {"x":15, "y":1}, | ||
| 185 | |||
| 186 | {"x":0, "y":2, "w":1.75}, | ||
| 187 | {"x":1.75, "y":2}, | ||
| 188 | {"x":2.75, "y":2}, | ||
| 189 | {"x":3.75, "y":2}, | ||
| 190 | {"x":4.75, "y":2}, | ||
| 191 | {"x":5.75, "y":2}, | ||
| 192 | {"x":6.75, "y":2}, | ||
| 193 | {"x":7.75, "y":2}, | ||
| 194 | {"x":8.75, "y":2}, | ||
| 195 | {"x":9.75, "y":2}, | ||
| 196 | {"x":10.75, "y":2}, | ||
| 197 | {"x":11.75, "y":2}, | ||
| 198 | {"x":12.75, "y":2}, | ||
| 199 | {"x":13.75, "y":1, "w":1.25, "h":2}, | ||
| 200 | {"x":15, "y":2}, | ||
| 201 | |||
| 202 | {"x":0, "y":3, "w":1.25}, | ||
| 203 | {"x":1.25, "y":3}, | ||
| 204 | {"x":2.25, "y":3}, | ||
| 205 | {"x":3.25, "y":3}, | ||
| 206 | {"x":4.25, "y":3}, | ||
| 207 | {"x":5.25, "y":3}, | ||
| 208 | {"x":6.25, "y":3}, | ||
| 209 | {"x":7.25, "y":3}, | ||
| 210 | {"x":8.25, "y":3}, | ||
| 211 | {"x":9.25, "y":3}, | ||
| 212 | {"x":10.25, "y":3}, | ||
| 213 | {"x":11.25, "y":3}, | ||
| 214 | {"x":12.25, "y":3, "w":1.75}, | ||
| 215 | {"x":14, "y":3}, | ||
| 216 | {"x":15, "y":3}, | ||
| 217 | |||
| 218 | {"x":0, "y":4, "w":1.5}, | ||
| 219 | {"x":2.5, "y":4, "w":1.5}, | ||
| 220 | {"x":4, "y":4, "w":7}, | ||
| 221 | {"x":11, "y":4, "w":1.5}, | ||
| 222 | {"x":13, "y":4}, | ||
| 223 | {"x":14, "y":4}, | ||
| 224 | {"x":15, "y":4} | ||
| 225 | ] | ||
| 226 | }, | ||
| 227 | "LAYOUT_ansi_split_bs": { | ||
| 228 | "layout": [ | ||
| 229 | {"x":0, "y":0}, | ||
| 230 | {"x":1, "y":0}, | ||
| 231 | {"x":2, "y":0}, | ||
| 232 | {"x":3, "y":0}, | ||
| 233 | {"x":4, "y":0}, | ||
| 234 | {"x":5, "y":0}, | ||
| 235 | {"x":6, "y":0}, | ||
| 236 | {"x":7, "y":0}, | ||
| 237 | {"x":8, "y":0}, | ||
| 238 | {"x":9, "y":0}, | ||
| 239 | {"x":10, "y":0}, | ||
| 240 | {"x":11, "y":0}, | ||
| 241 | {"x":12, "y":0}, | ||
| 242 | {"x":13, "y":0}, | ||
| 243 | {"x":14, "y":0}, | ||
| 244 | |||
| 245 | {"x":0, "y":1, "w":1.5}, | ||
| 246 | {"x":1.5, "y":1}, | ||
| 247 | {"x":2.5, "y":1}, | ||
| 248 | {"x":3.5, "y":1}, | ||
| 249 | {"x":4.5, "y":1}, | ||
| 250 | {"x":5.5, "y":1}, | ||
| 251 | {"x":6.5, "y":1}, | ||
| 252 | {"x":7.5, "y":1}, | ||
| 253 | {"x":8.5, "y":1}, | ||
| 254 | {"x":9.5, "y":1}, | ||
| 255 | {"x":10.5, "y":1}, | ||
| 256 | {"x":11.5, "y":1}, | ||
| 257 | {"x":12.5, "y":1}, | ||
| 258 | {"x":13.5, "y":1, "w":1.5}, | ||
| 259 | {"x":15, "y":1}, | ||
| 260 | |||
| 261 | {"x":0, "y":2, "w":1.75}, | ||
| 262 | {"x":1.75, "y":2}, | ||
| 263 | {"x":2.75, "y":2}, | ||
| 264 | {"x":3.75, "y":2}, | ||
| 265 | {"x":4.75, "y":2}, | ||
| 266 | {"x":5.75, "y":2}, | ||
| 267 | {"x":6.75, "y":2}, | ||
| 268 | {"x":7.75, "y":2}, | ||
| 269 | {"x":8.75, "y":2}, | ||
| 270 | {"x":9.75, "y":2}, | ||
| 271 | {"x":10.75, "y":2}, | ||
| 272 | {"x":11.75, "y":2}, | ||
| 273 | {"x":12.75, "y":2, "w":2.25}, | ||
| 274 | {"x":15, "y":2}, | ||
| 275 | |||
| 276 | {"x":0, "y":3, "w":2.25}, | ||
| 277 | {"x":2.25, "y":3}, | ||
| 278 | {"x":3.25, "y":3}, | ||
| 279 | {"x":4.25, "y":3}, | ||
| 280 | {"x":5.25, "y":3}, | ||
| 281 | {"x":6.25, "y":3}, | ||
| 282 | {"x":7.25, "y":3}, | ||
| 283 | {"x":8.25, "y":3}, | ||
| 284 | {"x":9.25, "y":3}, | ||
| 285 | {"x":10.25, "y":3}, | ||
| 286 | {"x":11.25, "y":3}, | ||
| 287 | {"x":12.25, "y":3, "w":1.75}, | ||
| 288 | {"x":14, "y":3}, | ||
| 289 | {"x":15, "y":3}, | ||
| 290 | |||
| 291 | {"x":0, "y":4, "w":1.5}, | ||
| 292 | {"x":2.5, "y":4, "w":1.5}, | ||
| 293 | {"x":4, "y":4, "w":7}, | ||
| 294 | {"x":11, "y":4, "w":1.5}, | ||
| 295 | {"x":13, "y":4}, | ||
| 296 | {"x":14, "y":4}, | ||
| 297 | {"x":15, "y":4} | ||
| 298 | ] | ||
| 299 | }, | ||
| 300 | "LAYOUT_all": { | ||
| 301 | "layout": [ | ||
| 302 | {"x":0, "y":0}, | ||
| 303 | {"x":1, "y":0}, | ||
| 304 | {"x":2, "y":0}, | ||
| 305 | {"x":3, "y":0}, | ||
| 306 | {"x":4, "y":0}, | ||
| 307 | {"x":5, "y":0}, | ||
| 308 | {"x":6, "y":0}, | ||
| 309 | {"x":7, "y":0}, | ||
| 310 | {"x":8, "y":0}, | ||
| 311 | {"x":9, "y":0}, | ||
| 312 | {"x":10, "y":0}, | ||
| 313 | {"x":11, "y":0}, | ||
| 314 | {"x":12, "y":0}, | ||
| 315 | {"x":13, "y":0}, | ||
| 316 | {"x":14, "y":0}, | ||
| 317 | |||
| 318 | {"x":0, "y":1, "w":1.5}, | ||
| 319 | {"x":1.5, "y":1}, | ||
| 320 | {"x":2.5, "y":1}, | ||
| 321 | {"x":3.5, "y":1}, | ||
| 322 | {"x":4.5, "y":1}, | ||
| 323 | {"x":5.5, "y":1}, | ||
| 324 | {"x":6.5, "y":1}, | ||
| 325 | {"x":7.5, "y":1}, | ||
| 326 | {"x":8.5, "y":1}, | ||
| 327 | {"x":9.5, "y":1}, | ||
| 328 | {"x":10.5, "y":1}, | ||
| 329 | {"x":11.5, "y":1}, | ||
| 330 | {"x":12.5, "y":1}, | ||
| 331 | {"x":13.5, "y":1, "w":1.5}, | ||
| 332 | {"x":15, "y":1}, | ||
| 333 | |||
| 334 | {"x":0, "y":2, "w":1.75}, | ||
| 335 | {"x":1.75, "y":2}, | ||
| 336 | {"x":2.75, "y":2}, | ||
| 337 | {"x":3.75, "y":2}, | ||
| 338 | {"x":4.75, "y":2}, | ||
| 339 | {"x":5.75, "y":2}, | ||
| 340 | {"x":6.75, "y":2}, | ||
| 341 | {"x":7.75, "y":2}, | ||
| 342 | {"x":8.75, "y":2}, | ||
| 343 | {"x":9.75, "y":2}, | ||
| 344 | {"x":10.75, "y":2}, | ||
| 345 | {"x":11.75, "y":2}, | ||
| 346 | {"x":12.75, "y":2}, | ||
| 347 | {"x":13.75, "y":2, "w":1.25}, | ||
| 348 | {"x":15, "y":2}, | ||
| 349 | |||
| 350 | {"x":0, "y":3, "w":1.25}, | ||
| 351 | {"x":1.25, "y":3}, | ||
| 352 | {"x":2.25, "y":3}, | ||
| 353 | {"x":3.25, "y":3}, | ||
| 354 | {"x":4.25, "y":3}, | ||
| 355 | {"x":5.25, "y":3}, | ||
| 356 | {"x":6.25, "y":3}, | ||
| 357 | {"x":7.25, "y":3}, | ||
| 358 | {"x":8.25, "y":3}, | ||
| 359 | {"x":9.25, "y":3}, | ||
| 360 | {"x":10.25, "y":3}, | ||
| 361 | {"x":11.25, "y":3}, | ||
| 362 | {"x":12.25, "y":3, "w":1.75}, | ||
| 363 | {"x":14, "y":3}, | ||
| 364 | {"x":15, "y":3}, | ||
| 365 | |||
| 366 | {"x":0, "y":4, "w":1.5}, | ||
| 367 | {"x":2.5, "y":4, "w":1.5}, | ||
| 368 | {"x":4, "y":4, "w":7}, | ||
| 369 | {"x":11, "y":4, "w":1.5}, | ||
| 370 | {"x":13, "y":4}, | ||
| 371 | {"x":14, "y":4}, | ||
| 372 | {"x":15, "y":4} | ||
| 373 | ] | ||
| 374 | } | ||
| 375 | } | ||
| 376 | } | ||
diff --git a/keyboards/plume/plume65/keymaps/default/keymap.c b/keyboards/plume/plume65/keymaps/default/keymap.c new file mode 100644 index 000000000..343c3b4f7 --- /dev/null +++ b/keyboards/plume/plume65/keymaps/default/keymap.c | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | |||
| 20 | [0] = LAYOUT_ansi( | ||
| 21 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, | ||
| 22 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, | ||
| 23 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, | ||
| 24 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, | ||
| 25 | KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), | ||
| 26 | [1] = LAYOUT_ansi( | ||
| 27 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 28 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 29 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 30 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 31 | _______, _______, _______, _______, _______, _______, _______) | ||
| 32 | |||
| 33 | }; | ||
diff --git a/keyboards/plume/plume65/keymaps/default/readme.md b/keyboards/plume/plume65/keymaps/default/readme.md new file mode 100644 index 000000000..33c50283a --- /dev/null +++ b/keyboards/plume/plume65/keymaps/default/readme.md | |||
| @@ -0,0 +1 @@ | |||
| This is the default keymap for the Plume65. | |||
diff --git a/keyboards/plume/plume65/keymaps/via/keymap.c b/keyboards/plume/plume65/keymaps/via/keymap.c new file mode 100644 index 000000000..ed8e921c7 --- /dev/null +++ b/keyboards/plume/plume65/keymaps/via/keymap.c | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include QMK_KEYBOARD_H | ||
| 17 | |||
| 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 19 | |||
| 20 | [0] = LAYOUT_all( | ||
| 21 | KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, | ||
| 22 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, | ||
| 23 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGUP, | ||
| 24 | KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, | ||
| 25 | KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), | ||
| 26 | [1] = LAYOUT_all( | ||
| 27 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 28 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 29 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 30 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 31 | _______, _______, _______, _______, _______, _______, _______), | ||
| 32 | [2] = LAYOUT_all( | ||
| 33 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 34 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 35 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 36 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 37 | _______, _______, _______, _______, _______, _______, _______), | ||
| 38 | [3] = LAYOUT_all( | ||
| 39 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 41 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 42 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
| 43 | _______, _______, _______, _______, _______, _______, _______), | ||
| 44 | |||
| 45 | }; | ||
diff --git a/keyboards/plume/plume65/keymaps/via/rules.mk b/keyboards/plume/plume65/keymaps/via/rules.mk new file mode 100644 index 000000000..1e5b99807 --- /dev/null +++ b/keyboards/plume/plume65/keymaps/via/rules.mk | |||
| @@ -0,0 +1 @@ | |||
| VIA_ENABLE = yes | |||
diff --git a/keyboards/plume/plume65/plume65.c b/keyboards/plume/plume65/plume65.c new file mode 100644 index 000000000..d59f2289e --- /dev/null +++ b/keyboards/plume/plume65/plume65.c | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #include "plume65.h" | ||
diff --git a/keyboards/plume/plume65/plume65.h b/keyboards/plume/plume65/plume65.h new file mode 100644 index 000000000..fa169a8bc --- /dev/null +++ b/keyboards/plume/plume65/plume65.h | |||
| @@ -0,0 +1,103 @@ | |||
| 1 | /* Copyright 2020 Dekkers | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #pragma once | ||
| 17 | |||
| 18 | #include "quantum.h" | ||
| 19 | #define XXX KC_NO | ||
| 20 | |||
| 21 | /* This a shortcut to help you visually see your layout. | ||
| 22 | * | ||
| 23 | * The first section contains all of the arguments representing the physical | ||
| 24 | * layout of the board and position of the keys. | ||
| 25 | * | ||
| 26 | * The second converts the arguments into a two-dimensional array which | ||
| 27 | * represents the switch matrix. | ||
| 28 | */ | ||
| 29 | |||
| 30 | #define LAYOUT_ansi( \ | ||
| 31 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ | ||
| 32 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ | ||
| 33 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \ | ||
| 34 | k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ | ||
| 35 | k40, k42, k46, k4b, k4c, k4d, k4e \ | ||
| 36 | ) \ | ||
| 37 | { \ | ||
| 38 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ | ||
| 39 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ | ||
| 40 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, k2e }, \ | ||
| 41 | { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ | ||
| 42 | { k40, XXX, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, k4d, k4e } \ | ||
| 43 | } | ||
| 44 | |||
| 45 | #define LAYOUT_ansi_split_bs( \ | ||
| 46 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0d, \ | ||
| 47 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ | ||
| 48 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, k2e, \ | ||
| 49 | k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ | ||
| 50 | k40, k42, k46, k4b, k4c, k4d, k4e \ | ||
| 51 | ) \ | ||
| 52 | { \ | ||
| 53 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ | ||
| 54 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ | ||
| 55 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, k2e }, \ | ||
| 56 | { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ | ||
| 57 | { k40, XXX, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, k4d, k4e } \ | ||
| 58 | } | ||
| 59 | |||
| 60 | #define LAYOUT_iso( \ | ||
| 61 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ | ||
| 62 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \ | ||
| 63 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \ | ||
| 64 | k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ | ||
| 65 | k40, k42, k46, k4b, k4c, k4d, k4e \ | ||
| 66 | ) \ | ||
| 67 | { \ | ||
| 68 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \ | ||
| 69 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e }, \ | ||
| 70 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ | ||
| 71 | { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ | ||
| 72 | { k40, XXX, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, k4d, k4e } \ | ||
| 73 | } | ||
| 74 | |||
| 75 | #define LAYOUT_iso_split_bs( \ | ||
| 76 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0d, \ | ||
| 77 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \ | ||
| 78 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \ | ||
| 79 | k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ | ||
| 80 | k40, k42, k46, k4b, k4c, k4d, k4e \ | ||
| 81 | ) \ | ||
| 82 | { \ | ||
| 83 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ | ||
| 84 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, k1e }, \ | ||
| 85 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ | ||
| 86 | { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ | ||
| 87 | { k40, XXX, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, k4d, k4e } \ | ||
| 88 | } | ||
| 89 | |||
| 90 | #define LAYOUT_all( \ | ||
| 91 | k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, k0d, \ | ||
| 92 | k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \ | ||
| 93 | k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \ | ||
| 94 | k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \ | ||
| 95 | k40, k42, k46, k4b, k4c, k4d, k4e \ | ||
| 96 | ) \ | ||
| 97 | { \ | ||
| 98 | { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ | ||
| 99 | { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \ | ||
| 100 | { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \ | ||
| 101 | { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \ | ||
| 102 | { k40, XXX, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4b, k4c, k4d, k4e } \ | ||
| 103 | } | ||
diff --git a/keyboards/plume/plume65/readme.md b/keyboards/plume/plume65/readme.md new file mode 100644 index 000000000..828477eaf --- /dev/null +++ b/keyboards/plume/plume65/readme.md | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | # Plume65 | ||
| 2 | |||
| 3 | ## Support | ||
| 4 | * Keyboard Maintainer: [maartenwut](https://github.com/maartenwut) | ||
| 5 | * Hardware Supported: Plume65 | ||
| 6 | * Hardware Availability: N/A | ||
| 7 | |||
| 8 | Make example for this keyboard (after setting up your build environment): | ||
| 9 | |||
| 10 | make plume/plume65:default | ||
| 11 | |||
| 12 | Flashing example for this keyboard: | ||
| 13 | |||
| 14 | make plume/plume65:default:flash | ||
| 15 | |||
| 16 | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||
diff --git a/keyboards/plume/plume65/rules.mk b/keyboards/plume/plume65/rules.mk new file mode 100644 index 000000000..dded09bb8 --- /dev/null +++ b/keyboards/plume/plume65/rules.mk | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = atmega32u4 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = qmk-dfu | ||
| 6 | |||
| 7 | # Build Options | ||
| 8 | # change yes to no to disable | ||
| 9 | # | ||
| 10 | BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration | ||
| 11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
| 12 | EXTRAKEY_ENABLE = yes # Audio control and System control | ||
| 13 | CONSOLE_ENABLE = no # Console for debug | ||
| 14 | COMMAND_ENABLE = no # Commands for debug and configuration | ||
| 15 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 16 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
| 17 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||
| 18 | NKRO_ENABLE = no # USB Nkey Rollover | ||
| 19 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | ||
| 20 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | ||
| 21 | BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
| 22 | AUDIO_ENABLE = no # Audio output | ||
diff --git a/keyboards/redox_w/keymaps/danielo515/keymap.c b/keyboards/redox_w/keymaps/danielo515/keymap.c index 2b37a4be3..c174c7cf3 100644 --- a/keyboards/redox_w/keymaps/danielo515/keymap.c +++ b/keyboards/redox_w/keymaps/danielo515/keymap.c | |||
| @@ -22,56 +22,59 @@ | |||
| 22 | # define GUI OSM(MOD_LGUI) | 22 | # define GUI OSM(MOD_LGUI) |
| 23 | # define ENT_SYM LT(_SYMB, KC_ENT) | 23 | # define ENT_SYM LT(_SYMB, KC_ENT) |
| 24 | # define __S LT(_S,KC_S) | 24 | # define __S LT(_S,KC_S) |
| 25 | # define OSX_BACK LGUI(KC_GRV) | ||
| 26 | // Which key do you use to enter a layer | ||
| 27 | # define ENTRY _______ | ||
| 25 | 28 | ||
| 26 | 29 | ||
| 27 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 30 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 28 | 31 | ||
| 29 | [_QWERTY] = LAYOUT( | 32 | [_QWERTY] = LAYOUT( |
| 30 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | 33 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ |
| 31 | KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_DQUO , | 34 | KC_EQL ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_DQUO , |
| 32 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 35 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 33 | KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,TD_PASTE, ALT_TAB ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,SFT_MINS, | 36 | KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,TD_PASTE, KC_INS ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,CMD_MINS, |
| 34 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 37 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 35 | SHIFT ,KC_A ,__S ,FN_D ,FN_F ,KC_G ,COPY_CUT, KC_UNDS ,HYPR_H ,ALT_J ,CTL_K ,KC_L ,TD_CLN ,CMD_QUOT, | 38 | KC_PIPE ,KC_A ,__S ,FN_D ,FN_F ,KC_G ,COPY_CUT, KC_UNDS ,HYPR_H ,ALT_J ,CTL_K ,KC_L ,TD_CLN ,SFT_QUOT, |
| 36 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 39 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 37 | KC_BSLS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_DEL ,KC_PGDN , ALT_TAB ,AD_ESC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_ASTR , | 40 | KC_BSLS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_DEL ,KC_PLUS , ALT_TAB ,AD_ESC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_ASTR , |
| 38 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | 41 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ |
| 39 | CTL ,ALT ,KC_LEFT ,KC_RIGHT, GUI , SHIFT ,KC_BSPC , KC_LEAD ,NAV_SPC , ENT_SYM, KC_LBRC ,KC_RBRC ,KC_DOWN ,KC_UP | 42 | CTL ,ALT ,KC_LEFT ,KC_RIGHT, GUI , SHIFT ,KC_BSPC , KC_LEAD ,NAV_SPC , ENT_SYM, KC_LBRC ,KC_RBRC ,KC_DOWN ,KC_UP |
| 40 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | 43 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ |
| 41 | ), | 44 | ), |
| 42 | 45 | ||
| 43 | [_SYMB] = LAYOUT( | 46 | [_SYMB] = LAYOUT( |
| 44 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | 47 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ |
| 45 | _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , | 48 | _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F12 , |
| 46 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 49 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 47 | _______ ,KC_EXLM ,KC_DLR ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PERC ,KC_PMNS , | 50 | _______ ,KC_EXLM ,KC_DLR ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PERC ,KC_BSPC , |
| 48 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 51 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 49 | _______ ,KC_AT ,KC_DLR , KC_LPRN, KC_RPRN,KC_GRV ,_______ , _______ ,KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,KC_BSPC , | 52 | _______ ,KC_AT ,KC_DLR , KC_LPRN, KC_RPRN,KC_GRV ,_______ , _______ ,KC_PENT ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,KC_PMNS , |
| 50 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 53 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 51 | _______ ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,_______ ,_______ , _______ ,_______ ,KC_COLN ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX , | 54 | _______ ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,_______ ,_______ , _______ ,_______ ,KC_COLN ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PSLS ,XXXXXXX , |
| 52 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | 55 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ |
| 53 | _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,XXXXXXX | 56 | _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , ENTRY , KC_P0 ,KC_PDOT ,KC_PAST ,XXXXXXX |
| 54 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | 57 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ |
| 55 | ), | 58 | ), |
| 56 | 59 | ||
| 57 | [_NAV] = LAYOUT( | 60 | [_NAV] = LAYOUT( |
| 58 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | 61 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ |
| 59 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ , | 62 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ , |
| 60 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 63 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 61 | XXXXXXX ,XXXXXXX ,KC_MS_U ,XXXXXXX ,KC_WH_U ,XXXXXXX ,_______ , _______ ,XXXXXXX,SFT_LEFT,SFT_RIGHT,XXXXXXX ,XXXXXXX ,XXXXXXX , | 64 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,SFT_LEFT_END,SFT_LEFT,SFT_RIGHT,SFT_RIGHT_END ,XXXXXXX ,KC_F12 , |
| 62 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 65 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 63 | XXXXXXX ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_WH_D ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX , | 66 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RIGHT,XXXXXXX ,XXXXXXX , |
| 64 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 67 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 65 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,KC_HOME ,CTL_LEFT,CTL_RIGHT,XXXXXXX,XXXXXXX ,XXXXXXX , | 68 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ , _______ ,XXXXXXX ,KC_HOME ,CTL_LEFT,CTL_RIGHT,KC_END,XXXXXXX ,XXXXXXX , |
| 66 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | 69 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ |
| 67 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , KC_BTN1 , KC_BTN2 ,_______ , _______ ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,WIN_LEFT,WIN_RIGHT | 70 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , _______ , _______ ,_______ , _______ , ENTRY , KC_MUTE , KC_VOLD ,KC_VOLU ,WIN_LEFT,WIN_RIGHT |
| 68 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | 71 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ |
| 69 | ), | 72 | ), |
| 70 | [_ADJUST] = LAYOUT( | 73 | [_ADJUST] = LAYOUT( |
| 71 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | 74 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ |
| 72 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , | 75 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , |
| 73 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 76 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 74 | XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_F12 , | 77 | XXXXXXX ,RESET ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , |
| 75 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 78 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 76 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , | 79 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , |
| 77 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 80 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| @@ -84,26 +87,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 84 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | 87 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ |
| 85 | XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , | 88 | XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , |
| 86 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 89 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 87 | XXXXXXX ,XXXXXXX ,ALL_WIN ,EXPOSE ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , | 90 | XXXXXXX ,XXXXXXX ,ALL_WIN ,EXPOSE ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,KC_F4 ,KC_F5 ,KC_F6 ,XXXXXXX ,KC_F12 , |
| 88 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 91 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 89 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , | 92 | XXXXXXX ,XXXXXXX ,SAVE ,OSX_BACK ,ENTRY ,XXXXXXX ,XXXXXXX , XXXXXXX ,KC_PSCR ,KC_F1 ,KC_F2 ,KC_F3 ,XXXXXXX ,XXXXXXX , |
| 90 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 93 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 91 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , | 94 | XXXXXXX ,UNDO ,REDO ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , |
| 92 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | 95 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ |
| 93 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX | 96 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , KC_PGUP ,KC_PGDOWN , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX |
| 94 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | 97 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ |
| 95 | ), | 98 | ), |
| 96 | [_D] = LAYOUT( | 99 | [_D] = LAYOUT( |
| 97 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | 100 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ |
| 98 | XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F12 , | 101 | XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_A ,KC_B ,KC_C ,KC_D ,KC_E ,KC_F , |
| 99 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 102 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 100 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , _______ ,KC_PSLS ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PERC ,KC_PMNS , | 103 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , _______ ,KC_LBRACKET ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PERC ,KC_KP_MINUS , |
| 101 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 104 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 102 | XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX , _______ ,KC_PAST ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,KC_BSPC , | 105 | XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,KC_F5 ,KC_F2 ,XXXXXXX , _______ ,KC_RBRACKET ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PPLS ,KC_PAST , |
| 103 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 106 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 104 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , _______ ,_______ ,KC_COLN ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PENT ,XXXXXXX , | 107 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , _______ ,_______ ,KC_COLN ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PSLS ,XXXXXXX , |
| 105 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | 108 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ |
| 106 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , _______ ,_______ , KC_P0 , KC_P0 ,KC_PDOT ,KC_PENT ,XXXXXXX | 109 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , _______ ,_______ , KC_P0 , KC_COMMA ,KC_PDOT ,KC_PAST ,XXXXXXX |
| 107 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | 110 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ |
| 108 | ), | 111 | ), |
| 109 | [_S] = LAYOUT( | 112 | [_S] = LAYOUT( |
| @@ -114,9 +117,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 114 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 117 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 115 | XXXXXXX ,XXXXXXX ,_______ ,KC_EQL ,F_ARROW ,KC_GRAVE,XXXXXXX , XXXXXXX ,KC_AMPR ,KC_LPRN ,KC_RPRN ,CLN_EQ ,KC_PLUS ,KC_PIPE , | 118 | XXXXXXX ,XXXXXXX ,_______ ,KC_EQL ,F_ARROW ,KC_GRAVE,XXXXXXX , XXXXXXX ,KC_AMPR ,KC_LPRN ,KC_RPRN ,CLN_EQ ,KC_PLUS ,KC_PIPE , |
| 116 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | 119 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ |
| 117 | XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_CIRC ,KC_DLR ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,KC_EXLM ,KC_TILD ,KC_CIRC ,ARROW ,KC_BSLASH,IARROW , | 120 | XXXXXXX ,XXXXXXX ,XXXXXXX ,KC_CIRC ,ARROW ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,KC_EXLM ,KC_TILD ,KC_CIRC ,ARROW ,KC_BSLASH,IARROW , |
| 118 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | 121 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ |
| 119 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , XXXXXXX ,_______ , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX | 122 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,_______ , XXXXXXX ,ENTRY , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX |
| 120 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | 123 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ |
| 121 | ) | 124 | ) |
| 122 | 125 | ||
